Una introducción a PHP
En esta sección, se pretende ilustrar los principios básicos
de PHP en una breve introducción. Este capítulo trata únicamente
de la creación de páginas web dinámicas con PHP, dejando de lado
temporalmente las otras posibilidades de PHP. Consulte la sección
¿Qué puede hacer PHP? para
más información.
Las páginas web que utilizan PHP se tratan como páginas HTML clásicas,
y se pueden crear, editar y borrar de la misma manera que normalmente se crean
las páginas HTML clásicas.
Su primera página PHP
Este tutorial presupone que PHP ya está instalado.
Las instrucciones de instalación se pueden encontrar en la
página de descargas.
Cree un fichero llamado hola.php
con el siguiente contenido :
Nuestro primer script PHP : hola.php
]]>
Usando su terminal, navegue hasta el directorio que contiene este fichero y
inicie un servidor de desarrollo con el siguiente comando:
Utilice su navegador para acceder al fichero utilizando la URL de su servidor web, terminando
por la referencia al fichero /hola.php.
De acuerdo con el comando ejecutado anteriormente, la URL será
http://localhost:8000/hello.php.
Si todo está correctamente configurado, este fichero será analizado por PHP
y se verá el mensaje "¡Hola Mundo!" en su navegador.
PHP puede ser integrado en una página web HTML normal. Esto significa que, en su documento HTML,
se pueden escribir instrucciones PHP, como se demuestra en el siguiente ejemplo:
Prueba PHP
Hola mundo'; ?>
]]>
Esto producirá el siguiente resultado :
Prueba PHP
Hola mundo
]]>
Este programa es extremadamente simple y no se necesita PHP
para crear una página web como esta. Solo muestra
Hola mundo, gracias a la función
echo
de PHP. Note que este fichero no necesita ser ejecutable
ni nada más, en ningún caso. El servidor sabe que este fichero necesita ser interpretado
por PHP, porque se utiliza la extensión ".php", y el servidor está configurado para
pasarlos a PHP. Considere esto como una página HTML normal que contiene una serie
de etiquetas especiales que le permitirán realizar muchas cosas interesantes.
El punto importante de este ejemplo era mostrar el formato de las
etiquetas especiales PHP. Hemos utilizado aquí
<?php para indicar el inicio de la etiqueta PHP.
Luego, introdujimos los comandos PHP y cerramos las etiquetas
PHP con ?>. Se puede pasar del modo PHP
al modo HTML y viceversa, de esta manera, y a su gusto. Para más
información, lea la sección del manual sobre la
sintaxis básica de PHP.
Una nota sobre los retornos de línea
Los retornos de línea tienen un significado mínimo en HTML, sin embargo,
siempre es una buena idea hacer que su HTML sea lo más bonito y cercano
posible añadiendo retornos de línea. Un retorno de línea que sigue inmediatamente a una etiqueta de cierre PHP (?>)
será eliminado por PHP. Esto puede ser realmente muy útil cuando se insertan varios bloques PHP o ficheros incluidos que contienen PHP que
no está destinado a mostrar nada. Al mismo tiempo, puede ser confuso. Se puede añadir un espacio después de la etiqueta de cierre
PHP (?>) para forzar el espacio y un retorno de línea a mostrarse, o se puede añadir explícitamente un retorno de línea
en el último echo/print de su bloque PHP.
Una nota sobre los editores de texto
Existen muchos editores de texto y entornos de
desarrollo (IDE) que se pueden utilizar para crear, editar
y gestionar sus aplicaciones PHP. Una lista parcial de estas herramientas
se mantiene en la dirección
PHP Editor's List.
Si desea recomendar un editor en particular, visite
esta página y pida al webmaster que añada su editor. Tener al menos
un editor de texto con coloración de sintaxis es altamente recomendado.
Una nota sobre los procesadores de texto
Los procesadores de texto como StarOffice Writer, Microsoft Word y
Abiword son muy malas opciones para editar scripts PHP.
Si desea utilizar uno de ellos, a pesar de todo, para probar sus
scripts, debe asegurarse de que guarda los ficheros en formato
de texto solo (plain text) : de lo contrario, PHP no será capaz de leer
y ejecutar estos scripts.
Ahora que ha creado un script PHP que funciona, es el momento
de crear el mejor script PHP ! Haga una llamada a la función
phpinfo y verá mucha información
interesante sobre su sistema y su configuración como las
variables predefinidas disponibles,
los módulos PHP cargados así como la configuración.
Tómese el tiempo para revisar esta información importante.
Recuperación de la información del sistema desde PHP
]]>
Trucos prácticos
Realicemos ahora algo más potente. Vamos
a verificar el tipo de navegador que el visitante de nuestro sitio utiliza.
Para ello, accederemos a la información que el navegador
del visitante nos envía, durante su petición HTTP. Esta información
se almacena en una variable.
Las variables son fáciles de identificar, ya que todas comienzan
con un signo dólar. La variable que nos interesa aquí es
$_SERVER['HTTP_USER_AGENT'].
$_SERVER es una
variable especial de PHP, que contiene toda la información
relativa al servidor web. Es una variable reservada de PHP,
y una superglobal. Consulte las páginas del manual que tratan de las
Auto-globales
(también conocidas como super-globales).
Para mostrar esta variable, simplemente se puede hacer :
Mostrar el contenido de una variable (elemento de array)
]]>
Un resultado posible del script podría ser :
Hay muchos tipos de
variables disponibles en PHP. En el ejemplo anterior, hemos mostrado
un elemento de una variable Array.
Los arrays pueden ser muy útiles.
$_SERVER es simplemente una variable que está automáticamente
disponible en su script. Una lista de todas las variables que están
disponibles se proporciona en la sección
Variables reservadas o también se puede obtener una lista completa leyendo la salida de la función
phpinfo utilizada en el ejemplo de la sección anterior.
Se pueden añadir varios comandos PHP en una etiqueta PHP, y crear
pequeños bloques de código que realizan operaciones más complejas
que un simple mostrado. Por ejemplo, si queremos verificar que el
navegador es de la familia Firefox, se puede
hacer esto :
Ejemplo utilizando las
estructuras de control y
las funciones
]]>
El resultado de este script, si está utilizando Firefox, será :
Aquí, introducimos varios nuevos conceptos. Tenemos una
estructura if.
Si está familiarizado con las sintaxis básicas del lenguaje C, esto
no le sorprenderá. Si no conoce lo suficiente el lenguaje C o
otro lenguaje cuya sintaxis sea similar a la anterior, sería mejor
que leyera una introducción a PHP, y asimilara
los primeros capítulos, o bien lea el capítulo dedicado a
la referencia del lenguaje.
El segundo concepto que hemos introducido es la función str_contains.
str_contains es una función interna de PHP, que determina
la presencia de una cadena dada en otra. En nuestro caso, hemos buscado la cadena "Firefox" en la cadena
$_SERVER['HTTP_USER_AGENT'].
De lo contrario, devuelve &false;.
Si devuelve &true; la estructura if
recibe &true; y el código entre llaves {} se ejecuta. De lo contrario, el código no se
ejecuta. No dude en
experimentar con otros ejemplos, utilizando
if,
else, y otras
funciones como strtoupper y
strlen. Cada página de la documentación también contiene ejemplos. Si no está seguro del uso de estas funciones, debe leer
la página del manual
"cómo leer una definición de función"
así como la sección sobre las funciones PHP.
Ahora podemos avanzar y mostrarle cómo utilizar el modo PHP,
en medio del código HTML :
Pasar del modo PHP al modo HTML y viceversa
str_contains() ha devuelto true
Está utilizando Firefox
str_contains() ha devuelto false
No está utilizando Firefox
]]>
Un ejemplo de resultado obtenido en este script es :
str_contains() ha devuelto true
Está utilizando Firefox
]]>
En lugar de utilizar un comando echo, para mostrar
texto, se puede utilizar código HTML puro. El punto importante a tener en cuenta
aquí es que la lógica de programación se conserva. Solo uno de los dos
bloques HTML se mostrará, según el resultado de la función str_contains.
En otras palabras, depende de si la cadena Firefox
ha sido encontrada o no.
Utilizar un formulario
Uno de los puntos fuertes de PHP es su capacidad para manejar formularios.
El concepto básico que es importante entender es que todos los
campos de un formulario estarán automáticamente disponibles en el
script PHP de acción. Lea el capítulo del manual relativo a las
variables desde fuentes externas a PHP
para más información y ejemplos sobre cómo utilizar los
formularios. Aquí hay un ejemplo de formulario HTML :
Un formulario HTML simple
]]>
No hay nada especial en este formulario. Está en HTML
puro, sin ninguna configuración especial. Cuando el visitante
rellena el formulario, y hace clic en el botón OK, se llama al fichero action.php. En este
fichero, se puede escribir el siguiente script :
Mostrar datos de un formulario
.
Tienes años.
]]>
Aquí está el resultado que podría obtener, según
los valores que haya introducido :
Aparte de las partes htmlspecialchars y
(int), este script solo hace cosas evidentes.
htmlspecialchars se asegura de que todos los caracteres
especiales HTML se codifiquen correctamente para evitar inyecciones
de etiquetas HTML y de Javascript en sus páginas. Para la edad, dado que
sabemos que es un entero, se puede
convertir en un
&integer;. También se puede pedir a PHP que lo haga
automáticamente por usted utilizando la extensión
filter.
Las variables $_POST['nombre'] y
$_POST['edad'] son creadas automáticamente por PHP.
Un poco antes en este tutorial, hemos utilizado la variable
$_SERVER, una superglobal. Ahora, hemos introducido otra superglobal $_POST
que contiene todos los datos enviados por el método POST. Tenga en cuenta que
en nuestro formulario, hemos elegido el método POST.
Si hubiéramos utilizado el método GET entonces nuestro formulario
habría colocado esta información en la variable $_GET,
otra superglobal. También se puede utilizar la variable
$_REQUEST, si no desea preocuparse por el método utilizado. Contiene
una mezcla de los datos de GET, POST, COOKIE y FILE.
¿Y después?
Con lo que sabe, ahora es capaz de comprender
lo esencial de la documentación PHP, y los diferentes scripts de ejemplo
disponibles en los archivos.
Diferentes presentaciones de las capacidades de PHP están disponibles en el
sitio de las conferencias PHP :
&url.php.talks;.