<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/history.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'history.php.php',
    1 => 'Historia de PHP',
    2 => 'Historia de PHP',
  ),
  'up' => 
  array (
    0 => 'history.php',
    1 => 'Historia de PHP',
  ),
  'prev' => 
  array (
    0 => 'history.php',
    1 => 'Historia de PHP',
  ),
  'next' => 
  array (
    0 => 'history.php.related.php',
    1 => 'Algunos proyectos relacionados con PHP',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'appendices/history.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="history.php" class="sect1">
  <h2 class="title">Historia de PHP</h2>
  <div class="sect2" id="history.phpfi">
   <h3 class="title">PHP Tools, FI, Construction Kit y PHP/FI</h3>
   <p class="para">
    PHP, tal como se conoce hoy en día, es el sucesor de un producto llamado PHP/FI.
    Creado en 1994 por Rasmus Lerdorf, la primera encarnación de PHP era un simple conjunto
    de binarios CGI escritos en lenguaje C. Originalmente utilizado para rastrear a los
    visitantes de su currículum vitae en línea, nombró esta suite de scripts &quot;Personal
    Home Page Tools&quot; (ndt: Herramientas para página personal), más frecuentemente llamada
    &quot;PHP Tools&quot;. Con el tiempo, se solicitaron más y más funcionalidades, y Rasmus reescribió
    las herramientas PHP, produciendo así una implementación más amplia y rica. Este nuevo
    modelo era capaz de interactuar con una base de datos, pero también proporcionaba un
    framework que permitía a los usuarios desarrollar una aplicación web dinámica simple,
    como libros de visitas. En junio de 1995, Rasmus
    <a href="http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133" class="link external">&raquo;&nbsp;proporcionó</a>
    el código fuente de PHP Tools al público en general, permitiendo así a los desarrolladores
    utilizarla como mejor les pareciera. Esto también permitió - y alentó - a los usuarios a
    proporcionar parches para corregir errores, pero también para probar la estabilidad del
    producto.
   </p>
   <p class="para">
    En septiembre de ese año, Rasmus continuó ampliando PHP y - por un tiempo muy corto -
    eliminó el nombre PHP. Refiriéndose ahora a las herramientas como FI (abreviatura de
    &quot;Forms Interpreter&quot; o intérprete de formularios), la nueva implementación incluía varias
    funcionalidades básicas que aún conocemos hoy en día. Tenía estas variables que se
    asemejan a Perl, un sistema de interpretación automática de variables de formularios y
    una sintaxis que se integra fácilmente en HTML. La sintaxis en sí misma era similar a la
    de Perl, aunque mucho más limitada, más simple y un poco incoherente. De hecho, para
    incrustar código en un fichero HTML, los desarrolladores debían utilizar comentarios HTML.
    A pesar de que este método no fue recibido con gran entusiasmo, FI continuó atrayendo a
    más y más personas, y fue aceptado como herramienta CGI, pero aún no como lenguaje.
    Sin embargo, esto comenzó a cambiar en los meses siguientes; en octubre de 1995, Rasmus
    entregó una nueva versión completamente reescrita. Recuperando el nombre de PHP, ahora
    se llamaba (brevemente) &quot;Personal Home Page Construction Kit&quot; y fue la primera versión
    en destacar que PHP se consideraba una interfaz de scripts avanzada. El lenguaje fue
    deliberadamente arquitecturado para parecerse a la estructura de C, facilitando así su
    adopción para los desarrolladores familiarizados con lenguajes como C, Perl y similares.
    Inicialmente limitado a sistemas Unix y POSIX, su potencial para una implementación en
    Windows NT comenzó a explorarse.
   </p>
   <p class="para">
    El código fue reescrito desde cero nuevamente y en abril de 1996, combinando los nombres
    de las versiones anteriores, Rasmus introdujo PHP/FI. Esta implementación de segunda
    generación comenzó a evolucionar realmente PHP de una simple suite de herramientas a un
    verdadero lenguaje de programación. Incluía soporte interno para las bases de datos DBM,
    mSQL y Postgres95, para cookies, soporte de funciones definidas por el usuario y mucho más.
    Ese mes de junio, PHP/FI alcanzó el estado de versión 2.0. Un punto interesante, sin
    embargo, era que solo existía una única versión de PHP 2.0. Cuando finalmente salió del
    estado beta en noviembre de 1997, el motor de análisis interno ya estaba siendo
    reescrito por completo.
   </p>
   <p class="para">
    Aunque proporcionaba un ciclo de desarrollo muy corto, continuó ganando popularidad en un
    mundo donde el desarrollo web aún era muy reciente. En 1997 y 1998, PHP/FI contaba con
    varios miles de usuarios en todo el mundo. El sitio de monitoreo Netcraft, en mayo de
    1998, indicaba que aproximadamente 60.000 dominios exportaban el encabezado &quot;PHP&quot;,
    indicando así que el servidor anfitrión lo tenía instalado. Este número correspondía a
    aproximadamente el 1% de los dominios de Internet en ese momento. A pesar de esta cifra
    impresionante, la maduración de PHP/FI estaba condenada a sus limitaciones; aunque había
    varios contribuyentes menores, aún era desarrollado principalmente por un solo individuo.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Ejemplo #1 Ejemplo de código PHP/FI</strong></p>
     <div class="example-contents">
<div class="htmlcode"><pre class="htmlcode">&lt;!--include /text/header.html--&gt;

&lt;!--getenv HTTP_USER_AGENT--&gt;
&lt;!--ifsubstr $exec_result Mozilla--&gt;
  Hola, ¡está utilizando Netscape!&lt;p&gt;
&lt;!--endif--&gt;

&lt;!--sql database select * from table where user=&#039;$username&#039;--&gt;
&lt;!--ifless $numentries 1--&gt;
  Lo siento, esta fila no existe&lt;p&gt;
&lt;!--endif exit--&gt;
  Bienvenido &lt;!--$user--&gt; !&lt;p&gt;
  Tiene &lt;!--$index:0--&gt; créditos en su cuenta.&lt;p&gt;

&lt;!--include /text/footer.html--&gt;</pre>
</div>
     </div>

    </div>
    </p>
   </div>
  <div class="sect2" id="history.php3">
   <h3 class="title">PHP 3</h3>
   <p class="para">
    PHP 3.0 fue la primera versión del lenguaje tal como lo conocemos hoy en día.
    Encontrando que PHP/FI 2.0 aún era insuficiente y carecía de las funcionalidades
    necesarias para implementar una aplicación de eCommerce, que desarrollaban como parte
    de un proyecto universitario, Andi Gutmans y Zeev Suraski de la ciudad de Tel Aviv
    (Israel) comenzaron otra reescritura completa del analizador interno en 1997.
    Acercándose a Rasmus a través de la web, discutieron varios aspectos de la
    implementación actual y su redesarrollo de PHP. En una lógica de mejora del motor y
    para aprovechar a los usuarios existentes de PHP/FI, Andi, Rasmus y Zeev decidieron
    colaborar en el desarrollo de un nuevo e independiente lenguaje de programación.
    Este nuevo lenguaje fue publicado bajo un nuevo nombre, que eliminó la idea de uso
    personal limitado incluida en el nombre de PHP/FI 2.0. Así, fue simplemente renombrado
    como &#039;PHP&#039;, cuyo significado se convirtió en un acrónimo recursivo: PHP: Hypertext
    Preprocessor.
   </p>
   <p class="para">
    Una de las mejoras notables de PHP 3.0 fueron sus capacidades de extensión. Además de
    proporcionar una infraestructura madura para múltiples bases de datos, protocolos y APIs,
    la facilidad de extensión del lenguaje en sí mismo atrajo a decenas de desarrolladores,
    que produjeron numerosos módulos. Esto fue sin duda una de las claves del enorme éxito
    de PHP 3.0. Otra de estas claves fue la introducción del soporte de programación
    orientada a objetos, así como una sintaxis de lenguaje mucho más potente y consistente.
   </p>
   <p class="para">
    En junio de 1998, con varios nuevos desarrolladores de todo el mundo uniéndose al
    proyecto, 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 en realidad
    había cesado desde el mes de noviembre del año anterior, ahora estaba oficialmente
    terminado. Después de aproximadamente 9 meses de pruebas públicas, cuando se publicó el
    anuncio de la versión oficial de PHP 3.0, ya estaba instalado en más de 70.000 dominios
    en todo el mundo y ya no estaba limitado a sistemas POSIX. Una pequeña parte de los
    dominios que informaban una instalación de PHP estaban instalados en servidores que
    funcionaban con Windows 95, 98, NT y Macintosh. En su apogeo, PHP 3.0 estaba instalado
    en aproximadamente el 10% de los servidores web de Internet.
   </p>
  </div>
  <div class="sect2" id="history.php4">
   <h3 class="title">PHP 4</h3>
   <p class="para">
    Durante el invierno de 1998, justo después de la publicación de PHP 3.0, Andi Gutmans y
    Zeev Suraski comenzaron una reescritura del motor interno de PHP. Los objetivos eran
    mejorar el rendimiento de PHP en aplicaciones complejas y mejorar la modularidad del
    código. Estas aplicaciones eran posibles gracias a las nuevas funcionalidades de PHP 3.0
    y el soporte de una gran cantidad de bases de datos y APIs, pero PHP 3.0 no estaba
    diseñado para manejar eficientemente aplicaciones tan complejas.
   </p>
   <p class="para">
    El nuevo motor, llamado &#039;Zend Engine&#039; (combinación de los nombres de Zeev y Andi),
    logró este objetivo con éxito, y la primera versión fue publicada a mediados de 1999.
    PHP 4.0, basado en este motor y mejorado por un gran número de nuevas funcionalidades,
    fue publicado oficialmente en mayo de 2000, casi 2 años después de su predecesor. Además
    de un rendimiento significativamente más alto, PHP 4.0 trajo soporte para múltiples
    servidores web, sesiones HTTP, bufferización de salida, una mayor seguridad en la
    gestión de la información de los visitantes y varias nuevas estructuras de lenguaje.
   </p>
  </div>
  <div class="sect2" id="history.php5">
   <h3 class="title">PHP 5</h3>
   <p class="para">
    PHP 5 fue lanzado en julio de 2004, después de un largo desarrollo y varias
    pre-versiones. Está regido por su motor, el
    <code class="literal">Zend Engine 2.0</code>
    con un nuevo modelo de objeto y decenas de otras nuevas funcionalidades.
   </p>
   <p class="para">
    El equipo de desarrollo de PHP incluye decenas de desarrolladores, además de decenas de
    otros trabajando en proyectos relacionados con PHP, como PEAR, PECL y la documentación,
    así como una red de infraestructura subyacente de cientos de servidores web individuales
    en 6 de los 7 continentes del mundo. Basándose en una estimación basada en las
    estadísticas del año anterior, es razonable suponer que PHP ahora está instalado en
    decenas, si no cientos, de millones de dominios en todo el mundo.
   </p>
  </div>
  <div class="sect2" id="history.php6">
   <h3 class="title">PHP 6</h3>
   <p class="para">
    PHP 6 estaba destinado a ofrecer un soporte profundo de Unicode en el motor y el
    lenguaje. Este trabajo fue más tarde abandonado, pero otras funcionalidades que estaban
    previstas para PHP 6 fueron incorporadas en PHP 5.3 (<a href="language.namespaces.php" class="link">espacios de nombres</a>)
    y PHP 5.4 (<a href="language.oop5.traits.php" class="link">traits</a>, sintaxis &quot;corta&quot; de arrays).
   </p>
  </div>
  <div class="sect2" id="history.php7">
   <h3 class="title">PHP 7</h3>
   <p class="para">
    PHP 7.0 fue publicado en 2015 y presentó otra versión mayor del motor,
    <code class="literal">Zend Engine 3.0</code>, que incluía mejoras significativas en el
    rendimiento (hasta dos veces más rápido que PHP 5.6) y en el consumo de memoria, un
    soporte de 64 bits coherente, mejoras en las excepciones, un generador de números
    aleatorios seguro, el operador de
    <a href="language.operators.comparison.php#language.operators.comparison.coalesce" class="link">fusión null (??)</a>,
    las <a href="language.oop5.anonymous.php" class="link">clases anónimas</a> y otras
    funcionalidades.
   </p>
   <p class="para">
    Las versiones posteriores de la serie PHP 7 introdujeron más funcionalidades como la
    <a href="function.list.php" class="link">sintaxis de lista corta</a> (7.1), la declaración de
    tipo de objeto en parámetro y en retorno (7.2), una nueva sintaxis flexible para
    <a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">heredoc</a>
    y <a href="language.types.string.php#language.types.string.syntax.nowdoc" class="link">nowdoc</a>
    (7.3), propiedades tipadas (7.4) y una nueva
    <a href="class.ffi.php" class="link">interfaz de función externa</a> (7.4).
   </p>
  </div>
  <div class="sect2" id="history.php8">
   <h3 class="title">PHP 8</h3>
   <p class="para">
    Publicado por primera vez en 2020, PHP 8.0 fue otra actualización mayor del lenguaje PHP.
    Contenía numerosas nuevas funcionalidades y optimizaciones, incluyendo los
    <a href="functions.arguments.php#functions.named-arguments" class="link">argumentos nombrados</a>,
    los <a href="language.types.declarations.php#language.types.declarations.composite.union" class="link">tipos de unión</a>,
    los <a href="language.attributes.php" class="link">atributos</a>,
    la <a href="language.oop5.decon.php#language.oop5.decon.constructor.promotion" class="link">promoción de propiedades de constructor</a>,
    las expresiones <a href="control-structures.match.php" class="link"><code class="literal">match</code></a>,
    el operador <a href="language.oop5.basic.php#language.oop5.basic.nullsafe" class="link">nullsafe (<code class="literal">?-&gt;</code>)</a>,
    un nuevo compilador JIT optimizado y mejoras en el sistema de tipos, la gestión de
    errores y la coherencia.
   </p>
   <p class="para">
    Las versiones posteriores de la serie PHP 8 introdujeron nuevas funcionalidades al
    lenguaje, incluyendo las <a href="language.enumerations.php" class="link">enumeraciones</a> (8.1),
    las <a href="language.fibers.php" class="link">fibras</a> (8.1),
    las <a href="language.oop5.basic.php#language.oop5.basic.class.readonly" class="link">clases de solo lectura</a> (8.2),
    los tipos de Forma Normal Disyuntiva (DNF) y las constantes tipadas de clase (8.3).
   </p>
  </div>
 </div><?php manual_footer($setup); ?>