Historia de PHP

Introducción

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML.

Un Ejemplo Introductorio:

En lugar de usar muchos comandos para mostrar HTML (como en C o en Perl), las páginas de PHP contienen HTML con código incrustado que hace “algo” (en este caso, mostrar “¡Hola, soy un script de PHP!). El código de PHP está encerrado entre las etiquetas especiales de comienzo y final <?php y ?> que permiten entrar y salir del “modo PHP”. A diferencia de las paginas estáticas de HTML que son útiles para presentar documentos estáticos, es decir que no son modificables, PHP permite generar un página HTML en forma dinámica, por ejemplo como resultado de una consulta a una base de datos., o generar gráficos, o cualquier otra cosa que necesite ser generada en base ciertos datos que pueden cambiar en el tiempo. Para lograr este objetivo también se pueden usar otros métodos como scripts CGI, applets, ASP u otros métodos. Una de las grandes limitaciones del HTML es la forma en que trabaja. En particular, si debe presentar al usuario un grupo de opciones para que este elija, usted debe conocer esas opciones de antemano al momento del diseño del form. Esto lleva a mucho esfuerzo de mantenimiento cada vez que el formulario debe ser actualizado con nuevas opciones. De nuevo, para ello existen varios métodos, por ejemplo el uso de JavaScript, o paginas dinámicas. Con PHP es fácil generar un formulario con las opciones tomadas desde alguna base de datos, de forma que el programador no tiene que modificar su código HTML, ya que este es generado automáticamente mediante un simple script escrito en PHP, que accede a esa base de datos. Pero cómo fue que inició PHP?

Historia de PHP

300px-PHP-logo

PHP tal y como se conoce hoy en día es en realidad el sucesor de un producto llamado PHP/FI. Creado en 1994 por Rasmus Lerdorf, la primera encarnación de PHP era un conjunto simple de  ficheros binarios Common Gateway Interface (CGI) escritos en el lenguaje de programación C.

Rasmus LerdorfOriginalmente utilizado para rastrear visitas de su currículum online, llamó al conjunto de scripts “Personal Home Page Tools”, más frecuentemente referenciado como “PHP Tools”. Con el paso del tiempo se quiso más funcionalidad, y Rasmus reescribió PHP Tools, produciendo una implementación más grande y rica. Este nuevo modelo fue capaz de interaccionar con bases de datos, y mucho más, proporcionando un entorno de trabajo sobre cuyos usuarios podían desarrollar aplicaciones web dinámicas sencillas tales como libros de visitas. En junio de 1995, Rasmus publicó el código fuente de PHP Tools, lo que permitió a los desarrolladores usarlo como considerasen apropiado. Esto también permitió -y animó- a los usuarios a proporcionar soluciones a los errores del código, y generalmente a mejorarlo.

En septiembre de ese mismo año, Rasmus amplió PHP y -por un corto periodo de tiempo- abandonó el nombre de PHP. Ahora, refiriéndose a las herramientas como FI (abreviatura de “Forms Interpreter”), la nueva implementación incluía algunas de las funciones básicas de PHP tal y como la conocemos hoy. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis incrustada HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente. De hecho, para embeber el código en un fichero HTML, los desarrolladores tenían que usar comentarios de HTML. Aunque este método no era completamente bien recibido, FI continuó gozando de expansión y aceptación como una herramienta CGI — pero todavía no completamente como lenguaje. Sin embargo, esto comenzó a cambiar al mes siguiente; en octubre de 1995 Rasmus publicó una versión nueva del código. Recordando el nombre PHP, ahora era llamado (resumidamente) “Personal Home Page Construction Kit,” y fue la primera versión que presumía de ser, en aquel momento, considerada como una interfaz de scripts avanzada. El lenguaje fue deliberadamente diseñado para asemejarse a C en estructura, haciéndolo una adopción sencilla para desarrolladores familiarizados con C, Perl, y lenguajes similares. Habiendo sido así bastante limitado a sistemas UNIX y compatibles con POSIX, el potencial para una implementación de Windows NT estaba siendo explorada.

El código fue completamente rehecho de nuevo, y en abril de 1996, combinando los nombres de versiones anteriores, Rasmus introdujo PHP/FI. Esta implementación de segunda generación comenzó realmente a desarrollar PHP desde un conjunto de herramientas dentro de un lenguaje de programación de derecho propio. Incluía soporte interno para DBM, mSQL, y bases de datos Postgres95, cookies, soporte para funciones definidas por el usuario, y mucho más. Ese mes de junio, PHP/FI brindó una versión 2.0. Sin embargo, un interesante hecho sobre esto, es que sólo había una única versión completa de PHP 2.0. Cuando finalmente pasó de la versión beta en noviembre de 1997, el motor de análisis subyacente ya estaba siendo reescrito por completo.

Aunque vivió una corta vida de desarrollo, continuó gozando de un crecimiento de popularidad en el aún joven mundo del desarrollo. En 1997 y 1998, PHP/FI tenía un culto de varios miles de usuarios en todo el mundo. Una encuesta de Netcraft en mayo de 1998 indicó que cerca de 60,000 dominios reportaron que tenían cabeceras que contenían “PHP”, indicando en efecto que el servidor host lo tenía instalado. Este número se correspondía con aproximadamente el 1% de todos los dominios de Internet del momento. A pesar de estas impresionantes cifras, la maduración de PHP/FI estaba condenada por limitaciones; mientras había varios contribuidores menores, aún era desarrollado principalmente por un individuo.

Ejemplo de Código PHP/FI:

PHP 3

PHP 3.0 fue la primera versión que más se parecía al PHP que existe hoy. Encontrando todavía PHP/FI 2.0 ineficiente y falto de las características que necesitaban para impulsar una aplicación de comercio electrónico que estaban desarrollando para un proyecto de universidad, Andi Gutmans y Zeev Suraski, de Tel Aviv, Israel, comenzaron otra nueva versión del analizador subyacente en 1997. Proponiendo Rasmus online, discutieron varios aspectos de la implementación actual y su redesarrollo de PHP. En un esfuerzo para mejorar el motor y comenzar a construir sobre la base de usuario de PHP/FI existente, Andi, Rasmus y Zeev decidieron colaborar en el desarrollo de un nuevo e independiente lenguaje de programación. Este lenguaje completamente nuevo fue publicado bajo un nuevo nombre, que eliminó la implicación del uso limitado personal que el nombre PHP/FI tenía. Fue renombrado simplemente como ‘PHP’, con el significado de un acrónimo recursivo – PHP: Hypertext Preprocessor. Una de las mejores características de PHP 3.0 era su gran extensibilidad. Además de proveer a los usuarios finales de una interfaz madura para el soporte a la gran mayoría de las bases de datos comerciales, se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet protocolos, y APIs, la sencillez de ampliar el lenguaje mismo atrajo a docenas de desarrolladores que presentaron variedad de módulos. Podría decirse que esta fue la clave para el tremendo éxito de PHP 3.0. Otras características clave introducidas en PHP 3.0 incluían el soporte para programación orientada a objetos y una sintaxis de lenguaje mucho más potente y consistente. En junio de 1998, con muchos nuevos desarrolladores de todo el mundo unidos al esfuerzo, PHP 3.0 fue anunciado por el nuevo Equipo de Desarrollo de PHP como el sucesor oficial de PHP/FI 2.0. El desarrollo activo de PHP/FI 2.0, que estaba casi parado desde noviembre del año anterior, fue oficialmente finalizado. Después de aproximadamente nueve meses de pruebas públicas, cuando el anuncio de la versión oficial de PHP 3.0 vino, ya estaba instalado en más de 70,000 dominios de todo el mundo, y ya no estaba limitado a sistemas operativos compatibles con POSIX. Una relativamente pequeña parte de de los dominios que tenían instalado PHP estaban albergados en servidores que ejecutaban Windows 95, 98, y NT, y Macintosh. En este punto, PHP 3.0 estaba instalado en aproximadamente el 10% de los servidores web de Internet.

PHP 4

En el invierno de 1998, poco después del lanzamiento oficial de PHP 3.0, Andi Gutmans y Zeev Suraski comenzaron a trabajar en una nueva versión del núcleo (parte del programa que se encarga de administrar los procesos) de PHP, por lo que fue reescrito para la versión 4. Los objetivos de diseño fueron mejorar la ejecución de aplicaciones complejas y mejorar la modularidad del código base de PHP. Estas aplicaciones se hicieron posibles por las nuevas características de PHP 3.0 y el apoyo de una gran variedad de bases de datos y APIs de terceros, pero PHP 3.0 no estaba diseñado para un mantenimiento tan complejo de aplicaciones eficientemente. El nuevo núcleo se denominó Motor Zend (en referencia a los nombres de sus principales desarrolladores, Zeev Zuraski y Andi Gutmans) desarrollado con mayor meditación para cubrir estas necesidades y solucionar algunos inconvenientes de la anterior versión, alcanzó estos objetivos de diseño satisfactoriamente, y se introdujo por primera vez en el mercado en el año 1999 (la versión oficial fue lanzada en el mes de mayo de 2000). PHP4 introdujo por primera vez a mediados de 1999. PHP 4.0,  basado en este motor, y asociado con un gran rango de nuevas características adicionales, fue oficialmente publicado en Mayo del 2000, casi dos años después que su predecesor. Además de la mejora de rendimiento de esta versión, PHP 4.0 incluía otras características clave:

  • Soporte para la mayoría de los servidores Web
  • Funciones para el manejo de sesiones HTTP
  • Buffers de salida
  • Formas más seguras de controlar las entradas de usuario
  • Y muchas nuevas construcciones de lenguaje.
  • Otra gran característica es que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código.

image001

Gráfica del número de dominios y direcciones IP que utilizan PHP. Estadística de Netcraft.

El número de servidores que utilizaban PHP se había disparado, logrando situarse cerca de los 5 millones de sitios y 800.000 direcciones IP, lo que le había convertido a PHP en una tecnología popular. Esto es debido, entre otras razones, a que PHP era el complemento ideal para que el tándem Linux-Apache sea compatible con la programación del lado del servidor de sitios web.

PHP 5

PHP 5 fue lanzado en Julio del 2004 después de un largo desarrollo y varios pre-releases. Los cambios que experimenta PHP en esta versión son verdaderamente importantes, y se podría decir que revolucionaron el lenguaje. Entre las nuevas características que incluye, podemos destacar:

  • Mejoras sobre el motor Zend: Está básicamente impulsado por su núcleo, Zend Engine 2.0 que contiene un nuevo modelo de objetos y docenas de nuevas opciones.
  • En cuanto a la programación orientada a objetos, PHP ahora ofrece notables mejoras que lo hacen una alternativa totalmente competente en este aspecto en comparación a otros lenguajes con historia en este campo.
  • Mejoras en el soporte de XML (el código fue rescrito en comparación a la versión anterior).
  • Manejo de excepciones (similar a como lo hace Java).
  • Inclusión de soporte para SQLite.

Aunque es solo una estimación basada en estadísticas de años anteriores, es seguro suponer que PHP ahora está instalado en diez o quizá cien millones de dominios en todo el mundo. La última versión de PHP liberada hasta el día de la redacción de este artículo es: 5.5.15