Tres letras que juntas constituyen el nombre de uno de los lenguajes de
programacin ms populares para el desarrollo de Web, el Preprocesador de Hipertexto PHP. Actualmente este lenguaje se utiliza en ms de 20 millones de sitios Web y en ms de un tercio de los servidores Web en todo el mundo. Durante los ltimos aos, PHP se ha convertido, de facto, en la opcin para el desarrollo de aplicaciones Web orientadas a bases de datos, sobre todo por su escalabilidad, facilidad, uso y el amplio soporte para diferentes bases de datos y formatos de stos.
Caractersticas nicas
Rendimiento Los scripts escritos en PHP se ejecutan ms rpido que los escritos en otros lenguajes de creacin de scripts; numerosos estudios comparativos independientes ponen este lenguaje por encima de sus competidores como JSP, ASP.NET y Perl.
Portabilidad PHP est disponible para UNIX, Microsoft Windows, Mac OS y OS/2 y los programas escritos en PHP se pueden transportar de una plataforma a otra. Como resultado, las aplicaciones PHP desarrolladas en Windows, por ejemplo, se ejecutarn en UNIX sin grandes contratiempos. Esta capacidad de desarrollar fcilmente para mltiples plataformas es muy valiosa, en especial cuando se trabaja en un ambiente corporativo de varias plataformas o cuando se intenta atacar diversos sectores del mercado.
Fcil de usar La sencillez es la mayor sofisticacin, dijo Leonardo da Vinci y, de acuerdo con ello, PHP es un lenguaje de programacin extremadamente sofisticado. Su sintaxis es clara y consistente y viene con una documentacin exhaustiva para las ms de 5 000 funciones incluidas en la distribucin principal. Esto reduce de manera importante la curva de aprendizaje tanto para los desarrolladores novatos como para los expertos, y es una de las razones por las que PHP es favorecido como una herramienta rpida para la creacin de prototipos que permitan el desarrollo de aplicaciones basadas en Web.
Cdigo libre PHP es un proyecto de cdigo libre; el lenguaje es desarrollado por un grupo de programadores voluntarios distribuidos por todo el mundo, quienes ponen a disposicin gratuita el cdigo fuente a travs de Internet, y puede ser utilizado sin costo, sin pagos por licencia y sin necesidad de grandes inversiones en equipo de cmputo ni programas. Con ello se reduce el costo del desarrollo de programas sin afectar la flexibilidad ni la confiabilidad de los productos.
Soporte comunitario Una de las mejores caractersticas de los lenguajes a los que da soporte una comunidad, como PHP, es el acceso que ofrece a la creatividad e imaginacin de cientos de desarrolladores ubicados en diferentes partes del mundo.
Soporte a aplicaciones de terceros Una de las fortalezas histricas de PHP ha sido su soporte a una amplia gama de diferentes bases de datos, entre las cuales se incluyen MySQL, PostgreSQL, Oracle y Microsoft SQL Server.
Conceptos bsicos de desarrollo
Cuando un documento HTML con esas caractersticas es solicitado por el usuario, el servidor Web con capacidades PHP puede reconocer y ejecutar los bloques de cdigo PHP e insertar el resultado en los datos de salida dentro del documento HTML, antes de enviarlo al usuario que lo solicita. El resultado es una pgina Web o una aplicacin que parecen casi vivas; responden de manera inteligente a las acciones del usuario en virtud del programa lgico PHP incrustado en ellas. A continuacin se muestra el proceso y muestra los cuatro elementos de esquema LAMP.
1. Joe (el cliente) inicia su explorador Web en casa y escribe el URL de una estacin Web. Despus de buscar el dominio, el explorador de Joe (el cliente) enva una solicitud HTTP a la direccin IP correspondiente al servidor. 2. El servidor Web encargado de manejar solicitudes HTTP para el dominio correspondiente se percata de que la URL finaliza con un sufijo .php. Como el servidor est programado para redireccionar automticamente todas estas solicitudes a una capa PHP, simplemente invoca al intrprete PHP y pasa el contenido del archivo que lleva el sufijo mencionado. 3. El intrprete PHP segmenta el archivo y ejecuta el cdigo que se encuentra en las etiquetas especiales PHP. Dentro de estas etiquetas puedes realizar operaciones de clculo, procesar datos de entrada de usuario, interactuar con bases de datos, leer y escribir archivos. Una vez que el intrprete del script ha terminado de ejecutar las instrucciones PHP, regresa el resultado al navegador, se limpia y retorna al estado de hibernacin. 4. El servidor Web transmite los resultados al navegador de Joe, enviados por el intrprete.
De la anterior explicacin debe quedar claro que para comenzar a construir aplicaciones PHP, tu ambiente de desarrollo debe contener por lo menos tres componentes:
Un sistema operativo y un ambiente de servidor base (por lo general, Linux). Un servidor Web (por lo general Apache sobre Linux o ISS sobre Windows) para interceptar las solicitudes HTTP y procesarlas directamente o pasarlas al intrprete PHP para su correspondiente ejecucin. Un intrprete PHP para segmentar y ejecutar el cdigo PHP y regresar los resultados al servidor Web. Un motor de base de datos (como MySQL) que almacena datos de la aplicacin, acepta conexiones de la capa PHP y modifica o extrae datos de la base.
Cuando estn presentes los cuatro componentes (Linux, Apache, MySQL y PHP), el ambiente de desarrollo recibe el nombre de plataforma LAMP.
Instalacin y configuracin de PHP PHP PHP proporciona un conjunto de herramientas para desarrollo de aplicaciones para Web y de consola. Puede ser descargado de www.php.net/. Instalar Apache y PHP
PHP puede integrarse con el servidor Web Apache de dos maneras: como un mdulo dinmico cargado dentro del servidor Web en tiempo de ejecucin, o como un mdulo esttico que est integrado al cdigo fuente de Apache en tiempo de construccin. Cada opcin tiene ventajas y desventajas:
Instalar PHP como un mdulo dinmico facilita la actualizacin del motor PHP ms adelante, porque slo necesita volver a compilar el mdulo PHP y no el resto del servidor Web Apache. Por otra parte, con un mdulo cargado dinmicamente, el rendimiento tiende a ser ms lento en comparacin con un mdulo esttico, que est ms integrado al servidor.
Esta seccin muestra cmo compilar PHP como mdulo dinmico que se carga en el servidor Apache en tiempo de ejecucin.
1. Asegrate de haber ingresado al sistema como usuario root. [user@host]# su root 2. Extrae el contenido del archivo fuente de Apache en el directorio temporal de tu sistema. [root@host]# cd/tmp [root@host]# tar xzvf /tmp/httpd-2.2.9.tar.gz 3. Para permitir que PHP se cargue dinmicamente, el servidor Apache debe ser compilado con soporte para compartir objetos dinmicamente (DSO). Este soporte se activa con la opcin --enableso, transmitida al script de configuracin configure del servidor Apache, como se muestra a continuacin: [root@host]# cd /tmp/httpd-2.2.9 [root@host]# ./configure --prefix=/usr/local/apache --enable-so Aparecern algunas pantallas con datos de salida, mientras que el script configure establece las variables necesarias para el proceso de compilacin. 4. Ahora, compila el servidor utilizando make, e instlalo en tu sistema utilizando make install. [root@host]# make [root@host]# make install Apache ya debe estar instalado en /usr/local/apache/. 5. Ahora compila e instala PHP. Comienza por extraer el contenido del archivo fuente de PHP en el directorio temporal de tu sistema. [root@host]# cd /tmp [root@host]# tar xzvf /tmp/php-5.3.0.tar.gz 6. Este paso es el ms importante en el proceso de instalacin de PHP. Implica enviar argumentos al script configure para configurar el mdulo PHP. Estos parmetros en lneas de comando especifican las extensiones PHP que sern activadas, y tambin le indican a PHP dnde encontrar las bibliotecas de soporte necesarias para esas extensiones. [root@host]# cd /tmp/php-5.3.0 [root@host]# ./configure prefix=/usr/local/php --with-apx2=/usr/ local/apache/bin/apxs --with-zlib --with-mysqli=mysqlnd --with-pdomysql= mysqlnd He aqu una breve explicacin de lo que hace cada uno de estos argumentos: El argumento --with-apxs2 le indica a PHP dnde encontrar el script APXS (APache eXtenSion) de Apache. Este script simplifica la tarea de construir e instalar los mdulos descargables de Apache. El argumento --with-zlib le indica a PHP que active las caractersticas de compresin (Zip), que son utilizadas por diferentes servicios PHP. El argumento --with-mysqli activa la extensin PHP MySQLi y le indica a PHP que utilice el Controlador Nativo MySQL (mysqlnd). El argumento --with-pdo-mysql activa el controlador MySQL PDO y le indica a PHP que utilice el Controlador Nativo MySQL (mysqlnd). Mezclar PHP con HTML Cuando el analizador sintctico PHP lee el script, ejecuta slo el cdigo que se encuentra entre las etiquetas PHP; ignora el resto y lo regresa tal y como est. Gracias a ello, resulta muy fcil incrustar cdigo dentro de un documento HTML para crear pginas Web que contengan todos los adornos propios del lenguaje HTML estndar, pero que adems sean capaces de realizar clculos complejos o leer y manipular datos provenientes de fuentes externas (como bases de datos o servicios Web).