
¿Qué necesito?
En este manual asumimos que cuenta con un servidor que soporta PHP y que todos los archivos con la extensión .php son usados por PHP. En la mayoría de servidores, ésta es la extensión que toman los archivos PHP por defecto, pero pregunte al administrador de su servidor para estar seguro. Si su servidor soporta PHP, entonces no necesita hacer nada, solamente crear sus archivos .php y guardarlos en su directorio web y el servidor los analizará por usted. No hay necesidad de compilar nada o instalar otras herramientas. Mírelo de esta manera, los archivos PHP son tan simples como archivos de HTML con el añadido de una nueva familia de etiquetas que permiten todo tipo de cosas. La mayoría de las compañías de hospedaje de páginas web ofrecen el soporte que necesita para usar PHP, pero si por alguna razón ellos no lo hacen, considere leer la sección titulada » Recursos PHP para más información acerca de compañías de hospedaje que soportan PHP.
Digamos que quiere ahorrar preciado ancho de banda y programar en local. En este caso, querrá instalar un servidor web, como » Apache, y por supuesto » PHP. Lo más seguro es que también quiera instalar una base de datos como » MySQL.
Instálelos de forma independientemente o bien puede elegir una manera más sencilla. Nuestro manual contiene Instrucciones de instalación de PHP(asumiendo que tiene algún tipo de servidor web ya configurado). Si tuviera problemas con la instalación, sugerimos que haga sus preguntas en nuestra » lista de correo de instalación. Si elige la manera más sencilla, entonces » localice paquete pre-configurado para su sistema operativo, incluyendo MacOSX, Linux y Windows. En Linux, quizá encuentra que » rpmfind y » PBone le son de ayuda para encontrar los RPMs. Para encontrar paquetes para Debian quizá quiera visitar » apt-get.
Su primera página con PHP
Comienze por crear un archivo llamado hola.php y póngalo en el "directorio raíz" (DOCUMENT_ROOT) con el siguiente contenido:
Ejemplo #1 Nuestro primer script PHP: hola.php
<html>
<head>
<title>Ejemplo PHP</title>
</head>
<body>
<?php echo '<p>Hola Mundo</p>'; ?>
</body>
</html>
Utilice su navegador web para acceder al archivo en su servidor, con la URL terminando en /hola.php. Si está programando localmente este URL será algo como http://localhost/hola.php o http://127.0.0.1/hola.php pero esto depende de la configuración de su servidor web. Si todo está configurado correctamente, el fichero será analizado por PHP y el siguiente contenido aparecerá en su navegador:
<html> <head> <title>Ejemplo PHP</title> </head> <body> <p>Hola mundo</p> </body> </html>
Este script es extremadamente simple y no es necesario usar PHP para crear una página como esta. Lo único que muestra es: Hola mundo usando la sentencia de PHP echo. El fichero no debe ser ejecutable o especial de ninguna forma. El servidor reconoce que este fichero debe ser interpretado por PHP porque estamos usando la extensión ".php", el cuál está configurado para enviarlo a PHP. Piensa como si fuera un fichero HTML normal el cual tiene una serie de etiquetas especiales disponibles con las que puedes hacer muchas cosas interesantes.
Si ha intentado usar este ejemplo y no produjo ningún resultado, preguntando si deseaba descargar el archivo, o mostró todo el archivo como texto, lo más seguro es que PHP no se encuentra habilitado en su servidor. Pídale a su administrador que active esta función usando el capítulo titulado Instalación en el manual. Si está trabajando localmente, lea también el capítulo dedicado a la instalación para asegurarse de que todo esté configurado apropiadamente. Asegúrese que está accediendo al fichero vía http a través del servidor para mostrar el resultado. Si está abriendo el archivo desde el sistema de archivos, entonces probablemente no estará siendo analizado por PHP. Si el problema persiste no dude en usar alguna de las múltiples opciones de » Soporte de PHP.
El objetivo de este ejemplo es demostrar cómo puede usar el formato especial de las etiquetas PHP. En este ejemplo usamos <?php para indicar el inicio de la etiqueta PHP. Después indicamos la sentencia y abandonamos el modo PHP usando ?>. Puede salir de PHP y regresar cuantas veces lo desee usando este método. Para más información, puede leer la sección en el manual titulada Sintaxis básica de PHP.
Nota: sobre los avances de línea
Los avances de línia tienen poco sentido en HTML, igualmente sigue siendo buena idea hacer que el código HTML se vea limpio y bien, poniendo avances de línea. PHP automáticamente eliminará los avances de línea puestos inmediatamente después de cerrar ?>. Esto puede ser muy útil si pone muchos bloques de PHP o incluye ficheros que contienen PHP que no se supone que deban mostarar nada. Al mismo tiempo, puede resultar un poco confuso. Se puede poner un espacio después de cerrar ?> para forzar el mostrar un espacio y un avance de línea , o se puede poner un avance de línea explícitamente en el último echo o print dentro de tu bloque en PHP.
Nota: acerca de editores de texto
Hay muchos editores de texto y Entornos Integrados de Desarrollo (IDE por sus siglas en Inglés) que puede usar para crear, editar, y organizar archivos PHP. Puede encontrar una lista parcial de éstos en » Lista de editores de PHP. Si desea recomendar un editor, por favor visite la página mencionada anteriormente, y comunique su recomendación a las personas encargadas del mantenimiento para que lo incluyan en la lista. Contar con un editor que resalte la sintaxis de PHP puede ser de mucha ayuda.
Nota: acerca de los procesadores de texto
Los procesadores de texto como StarOffice Writer, Microsoft word y Abiword no son buenas opciones para editar archivos de PHP. Si desea usar uno de éstos programas para probar sus scripts, primero debe asegurarse de guardar el documento en texto sin formato o PHP no será capaz de leer y ejecutar el script.
Nota: acerca del "Bloc de Notas de Windows"
Si escribe sus archivos PHP usando el "Bloc de Notas de Windows", debe asegurarse de que sus archivos sean guardados con la extensión .php(El Bloc de Notas automáticamente añade la extensión .txt a los archivos a menos que tome los siguientes pasos para prevenirlo). Cuando guarde sus archivos y el programa le pregunte qué nombre le desea dar al archivo, use comillas para indicar el nombre (es decir, "hola.php"). Una alternativa es, en la lista de opciones "Archivos de Texto *.txt", seleccionar la opción "Todos los archivos *.*". Aquí puede escribir el nombre del archivo sin las comillas.
Ahora que ha creado un pequeño script de PHP que funciona correctamente, es hora de trabajar con el script de PHP más famoso; vamos a hacer una llamada a la función phpinfo() para obtener información acerca de su sistema y configuración como las variables predefinidas disponibles, los módulos utilizados por PHP, y las diferentes opciones de configuración. Tomemos algo de tiempo para revisar esta información.
Ejemplo #2 Obtener la información del sistema desde PHP
<?php phpinfo(); ?>
Algo útil
Hagamos ahora algo que puede ser más útil. Vamos a comprobar qué clase de navegador está utilizando el usuario. Para hacerlo, vamos a consultar la información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre comienzan con un signo de dólar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER['HTTP_USER_AGENT'].
Nota:
$_SERVER es una variable especial reservada por PHP que contiene toda la información del servidor web. Es conocida como Superglobal. Consulte el manual en su sección titulada Superglobales para más información. Éstas variables especiales fueron introducidas en la versión» 4.1.0 de PHP. Antes podíamos usar las arrays $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque éstas han sido marcadas como obsoletas, tales arrays todavía existen. (También puede echar un vistazo a las notas relacionadas con el código antiguo.)
Para mostrar esta variable, se puede simplemente hacer:
Ejemplo #1 Imprimir una variable (Elemento array)
<?phpecho $_SERVER['HTTP_USER_AGENT'];?>
Un ejemplo del resultado de esta secuencia de comandos sería:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos un array. Los arrays pueden ser muy útiles.
$_SERVER es simplemente una variable que se encuentra disponible automáticamente en PHP. Puede encontrar una lista en la sección tituladaVariables Reservadas del manual, o puede generar una lista completa creando un archivo como el ejemplo de la sección anterior.
Puede usar más de un declaración PHP dentro de una etiqueta PHP, y crear pequeños segmentos de código que pueden hacer más que un único echo. Por ejemplo, si quisiéramos detectar el uso de Internet Explorer, haríamos algo así:
Ejemplo #2 Ejemplo usando estructuras de control y functiones
<?phpif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'Está usando Internet Explorer.<br />';
}?>
Un ejemplo del resultado de esta secuencia de comandos sería:
Está usando Internet Explorer.<br />
A continuación introduciremos un par de conceptos nuevos. Tenemos una declaración if. Si está familiarizado con la sintaxis básica del lenguaje C, esto se vera lógico, Pero si no entiende C, u otros lenguajes de programación donde encuentra la sintaxis usada anteriormente, probablemente debería conseguir un libro que le introduzca mejor a PHP, y lea los primeros capítulos, o también puede ver la parte del manual titulada Referencia del lenguaje parte del manual.
El segundo concepto que introducimos fue la función llamada strstr(). strstr() es una función integrada de PHP que busca un cadena dentro de otra cadena. En este caso anterior estamos buscando 'MSIE' (llamado aguja) dentro de $_SERVER['HTTP_USER_AGENT'] (llamado pajar). Si la cadena fue encontrada, la función devolverá la posición de la aguja relativa al inicio del pajar. De lo contrario devolverá
FALSE
. Si no devuelve FALSE
, la declaración if se evalúa a TRUE
y el código adentro de las llaves {} es ejecutado. De lo contrario, el código no será ejecutado. Tómese la libertad de crear ejemplos similares usando if, else, y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si no está seguro sobre el modo de uso éstas funciones, es recomendable que lea las páginas del manual tituladas Cómo leer una definición de función y la sección relacionada a Funciones en PHP.
Podemos continuar y demostrar cómo puede saltar adentro y afuera del modo PHP en el medio de un bloque de código:
Ejemplo #3 Mezcla de los modos HTML y PHP
<?phpif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {?><h3>strpos() debe haber devuelto no falso</h3>
<p>Está usando Internet Explorer</p>
<?php} else {?><h3>strpos() debió devolver algo diferente de falso</h3>
<p>No está usando Internet Explorer</p>
<?php}?>
Un ejemplo del resultado de la secuencia de comandos podría ser:
<h3>strpos() debe haber devuelto falso</h3> <p>Está usando Internet Explorer</p>
En vez de usar una sentencia PHP echo para demostrar algo, saltamos fuera del código PHP y escribimos solamente HTML. Este es un punto muy importante y potente que debemos observar aquí, y es que la fluidez lógica de la secuencia de comandos permanece intacta. Sólamente las partes donde hay bloques HTML serán enviadas al visor dependiendo del resultado que strstr() devuelva. En otras palabras, si la cadena MSIE fue encontrada o no.
Usando código antiguo en nuevas versiones de PHP
Ahora que PHP ha crecido y se ha convertido en un lenguaje popular, hay muchos más repositorios y librerias que contienen código que puede reusar. Los desarrolladores de PHP han tratado en toda medida que sea compatible con versiones anteriores, es decir, si una secuencia de comandos fue escrita para una versión antigua en principio funcionaría (idealmente) sin ningún cambio en una versión reciente de PHP. A la práctica, usualmente algunos cambios son necesarios.
Dos de los cambios mas importantes que afectan el código viejo son:
- La desaparición de las antiguas arrays $HTTP_*_VARS (que usualmente son usadas como globales al interior de una función o método). Las siguientes variables superglobales que fueron introducidas en la versión » 4.1.0 de PHP. Son: $_GET, $_POST, $_COOKIE, $_SERVER,$_FILES, $_ENV, $_REQUEST, y $_SESSION. Las antiguas $HTTP_*_VARS, como $HTTP_POST_VARS, todavía existen. A partir de PHP 5.0.0, las arrays de tipo long variables predefinidas se pueden desactivar con la directiva register_long_arrays .
- Las variables externas ya no son registradas globalmente de forma automática, por defecto. En otras palabras, a partir de PHP » 4.2.0, la directiva PHP register_globals está off por defecto en php.ini. El método preferido para obtener acceso a éstos valores es por medio de las variables superglobales mencionadas anteriormente. Antiguas secuencias de comandos, libros y tutoriales antiguos puede que asuman que ésta directiva está definida como on. Si fuera on, puede usar, por ejemplo, $id desde la URL http://www.example.com/foo.php?id=42. Por otra parte, no importa si el valor de la directiva es on u off, $_GET['id'] está siempre disponible.
Para más información relacionada con estos cambios, puede ver la sección sobre variables predefinidas y los enlaces que hay dentro.
Comentarios
Publicar un comentario