El lenguaje HTML con el que se crean las páginas y que se utiliza para decirle al programa de navegación utilizado (Netscape Navigator, Internet Explorer u otro) qué y cómo dibujar el contenido de la ventana, otorga una gran libertad de expresión, permitiendo incorporar gráficos, sonido, animaciones y otros elementos gráficos que permiten aumentar la riqueza expresiva de sus páginas.

Pero este lenguaje tiene una importante restricción: es estático. De la misma forma que las páginas maquetadas con Quark o InDesign siempre tienen el mismo contenido y forma, las páginas web escritas con el lenguaje HTML siempre mostrarán la misma información y en la misma disposición.

Si quiere crear una página cuyo contenido cambie, que le permita mostrar datos variables extraídos de otros sitios o que pueda capturar información y guardarla a disco o enviarla por correo, por ejemplo los datos que un usuario ha introducido en un formulario, necesita una herramientas más versátil que el lenguaje HTML.

Existen diversas soluciones creadas para esta necesidad. Una de las más famosas es el ASP que se emplea en los servidores Microsoft. ASP son las iniciales de “Active Server Pages” y hacen referencia a un lenguaje de programación basado en Visual Basic que puede utilizarse para crear las páginas dinámicas en los servidores Internet Information Service de Microsoft.

En entornos Unix se utilizan otras herramientas distintas, incluyendo entornos en Java y herramientas específicas para gestión de bases de datos u otros propósitos. Pero uno de los entornos más populares, si no el más popular, es el lenguaje PHP creado por Rasmus Lerdorf. Inicialmente la herramienta PHP era “PHP Tools” y significaba “Personal Home Page Tools” pero con el tiempo se ha eliminado la palabra “Tools” y PHP se ha convertido en un acrónimo recursivo que significa “PHP: Hypertext Preprocessor” (el uso de acrónimos recursivos es bastante común en la comunidad Open Source y por ejemplo GNU significa “GNU Not Unix).

Si el lenguaje de las páginas ASP está basado en Visual Basic, puede decirse que PHP tiene su fundamento en el lenguaje C, incorporando elementos de Java y Perl, aunque no posee la complejidad de ninguna de estas herramientas y muchas de las construcciones utilizadas son propias del PHP, careciendo de similitud con ninguno de los lenguajes.

Requisitos

Para poder utilizar el lenguaje PHP, el usuario necesita en primer lugar un servidor de páginas web que soporte este lenguaje, el servidor Apache incorporado en Mac OS X ya lo hace, además de un editor de textos que le permita crear el código de la página PHP, pudiendo ser un editor estándar o alguna herramienta creada o adaptada para la edición de páginas HTML y PHP como la aplicación JaneBuilder o las extensiones añadidas al editor BBEdit.

Disponer de algún conocimiento en lenguajes de programación será una ayuda, aunque no imprescindible pero sí que se tiene que conocer el lenguaje HTML (como tal lenguaje, incluyendo la estructura de marcas de un documento), ya que los programas PHP tienen que generar estas marcas.

Formato de salida

Antes de empezar a explicar cómo escribir programas en PHP hay que tener muy claro un punto: el formato de salida. Con independencia de que una página esté escrita en HTML, con ASP, con PHP o con cualquier otra herramienta, lo que se espera el programa navegador de la persona que está visitando esa página es código HTML y por tanto sea cual sea el entorno que se utilice, el resultado tiene que ser código HTML.

Es decir, el creador de la página tiene que producir algo que cuando un navegador se descargue esa página, el programa le envíe una secuencia similar a la siguiente:

<html>

<head>

<title>Mi pagina</title>

</HEAD>

<BODY bgcolor=”#FFFFFF” marginwidth=”0”

marginheight=”0” topmargin=”0” leftmar

gin=”0” vlink=”#666666”

link=”#000099”>

Viva yo y mi caballo

</body>

</html>

La misión de un programa PHP es, por tanto, generar este texto adaptándolo a los gustos del programador y a los datos dinámicos que pueda rescatar de una base de datos o de cualquier otro elemento.

Cohabitación PHP y HTML

Normalmente cuando usted escriba una página en PHP, sólo parte de la información de dicha página será dinámica y expuesta a cambiar. Algunos elementos como el titulo, textos de introducción y la mayor parte de los gráficos son inmutables.

Esta información pueden generarse dentro de un programa PHP, pero resulta complejo y lento. Por este motivo, dentro de un documento PHP también es posible incluir código HTML directamente.

En realidad al escribir un documento PHP, por defecto hay que escribir código HTML y las líneas PHP deben marcarse rodeándolas de los caracteres

<?PHP

?>

Si en el ejemplo anterior quisiera introducir el texto de la página como código PHP, el resultado sería:

<html>

<head>

<title>Mi pagina</title>

</HEAD>

<BODY bgcolor=”#FFFFFF” marginwidth=”0”

marginheight=”0” topmargin=”0” leftmar

gin=”0” vlink=”#666666” link=”#000099”>

<?PHP

echo “Viva yo y mi caballo”;

?>

</body>

</html>

Este ejemplo sirve además para mostrar la instrucción más usada de PHP: Echo. Como ha visto, sirve para enviar un texto específico al navegador. Si se trata de un texto literal que se quiere mostrar, basta con teclearlo directamente entre comillas. Pero con el comando echo se puede generar cualquier tipo de texto, incluso código HTML. Por ejemplo si quiere que el texto aparezca en negrita, tendrá que escribir

echo “<B>Viva yo y mi caballo</B>”;

Precisamente cuando quiere introducir código HTML es cuando puede ser más complejo el escribir este comando, sobre todo si el código HTML incluye comillas, ya que debe evitarse que se confundan con las de inicio o finalización de la propia instrucción echo. Si quiere generar el siguiente código HTML:

<A HREF=”segunda.php”>La segunda página</A>

El comando PHP será

echo “<A HREF=\”segunda.php\”>La segunda página</A>”;

Fíjese que las comillas que van dentro del código PHP van precedidas de la barra invertida para diferenciarlas de las de la instrucción echo. El resultado de la página PHP así modificada puede verse en la figura 1.

Variables

La utilidad de los programas PHP se vería muy reducida si no fuera por la existencia de variables, nombres especiales que actúan de repositorio de información para poder emplearla posteriormente. Un uso muy poco práctico aunque didáctico de una variable es el siguiente:

<?PHP

$algo = “Viva yo y mi caballo”;

echo $algo;

?>

Este código volverá a imprimir “Viva yo y mi caballo” en pantalla pero de una forma distinta. La primera instrucción introduce el texto en la variable $algo (todas las variables en PHP llevan el caracter dólar delante) y la segunda instrucción imprime el contenido de dicha variable. Las variables en PHP no tienen un tipo predefinido. Por tant