<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'history.php.php',
    1 => 'Die Geschichte von PHP',
    2 => 'Die Geschichte von PHP',
  ),
  'up' => 
  array (
    0 => 'history.php',
    1 => 'Die Geschichte von PHP und verwandten Projekten',
  ),
  'prev' => 
  array (
    0 => 'history.php',
    1 => 'Die Geschichte von PHP und verwandten Projekten',
  ),
  'next' => 
  array (
    0 => 'history.php.related.php',
    1 => 'Geschichte von PHP verwandten Projekten',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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">Die Geschichte von PHP</h2>

  <div class="sect2" id="history.phpfi">
   <h3 class="title">PHP Tools, FI, Construction Kit, und PHP/FI</h3>
   <p class="para">
    PHP ist der Nachfolger eines älteren Produktes, PHP/FI. PHP/FI wurde
    1994 von Rasmus Lerdorf geschaffen. Ursprünglich war PHP/FI ein Set
    von Common Gateway Interface (CGI) Programmen zur Erfassung der Zugriffe
    auf seinen Webauftritt. Er nannte dieses Set von Skripten
    &quot;Personal Home Page Tools&quot;, auch bekannt als &quot;PHP Tools&quot;. Als dann mehr
    Funktionalität benötigt wurde, schrieb Rasmus eine viel größere Umsetzung,
    welche auch mit Datenbanken kommunizieren konnte, und
    den Benutzern die Entwicklung einfacher dynamischer
    Webapplikationen, wie Gästebüchern, ermöglichte. Rasmus entschloss sich
    im Juni 1995, den Sourcecode der PHP Tools zu
    <a href="http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133" class="link external">&raquo;&nbsp;veröffentlichen</a>, sodass
    ihn jeder benutzen, von Fehlern bereinigen, und weiterentwicklen konnte.
   </p>
   <p class="para">
    Im September dieses Jahres erweiterte Rasmus PHP und verzichtete sogar
    kurzzeitig auf das PHP im Namen. Nun wurden die Tools FI (kurz für &quot;Formas
    Interpreter&quot;) genannt, und beinhalteten manches an Funktionalität des PHP
    wie wir es heute kennen. Es besaß Variablen wie in Perl, automatische
    Interpretation von Formularvariablen und eine in HTML eingebettete Syntax.
    Die Syntax selbst war der von Perl ähnlich, wenn auch viel eingeschränkter,
    einfach, und etwas inkonsistent. Tatsächlich mussten HTML-Kommentare
    verwendet werden, um den Code in eine HTML-Datei einzubetten. Obschon diese
    Methode nicht überall gut aufgenommen wurde, erfreute sich FI zunehmend an
    Wachstum und Akzeptanz als CGI-Tool – aber immer noch nicht wirklich als
    Sprache. Allerdings begann sich das im folgenden Monat zu ändern; im Oktober
    1995 veröffentlichte Rasmus ein vollständiges Rewrite des Codes, und nannte
    es nun kurzzeitig Personal Home Page Construction Kit&quot;, und dies wurde als,
    für damalige Verhältnisse, fortgeschrittenes Skript-Interface angesehen. Die
    Sprache war absichtlich so gestaltet, dass sie C ähnelte, was die Struktur
    anging, so dass es leicht von Entwicklern genutzt werden konnte, die mit C,
    Perl und ähnlichen Sprachen vertraut waren. Soweit war es auf UNIX und
    POSIX-konforme System beschränkt, aber die Möglichkeit einer Windows NT
    Implementierung wurde untersucht.
   </p>
   <p class="para">
    Der Code erhielt eine weitere vollständige Überarbeitung, und im April 1996,
    führte Rasmus, die Namen der vergangenen Veröffentlichungen kombinierend,
    PHP/FI ein. Diese Implementierung der zweiten Generation war der Beginn der
    Entwicklung von PHP von einer Sammlung von Tools in eine richtige
    Programmiersprache. Es enthielt eingebaute Unterstützung für DBM, mSQL und
    Postgres95 Datenbanken, Cookies, benutzerdefinierte Funktionen und vieles
    mehr. PHP/FI 2.0 wurde im November 1997 offiziell freigegeben, nachdem es
    die meiste Zeit seines Lebenszyklus als verschiedene Betaversionen verbracht
    hatte.
   </p>
   <p class="para">
    Obwohl es nur für eine kurze Zeit entwickelt wurde, erfreute es sich
    zunehmend wachsender Beliebtheit in der noch immer jungen Welt der
    Web-Entwicklung. In 1997 und 1998 war PHP/FI Kult für mehrere Tausend Nutzer
    auf der ganzen Welt. Eine Netcraft-Erhebung von Mai 1998 zeigte an, dass
    nahezu 60.000 Domains HTTP-Header mit dem Inhalt &quot;PHP&quot; versandten, was
    bedeutete, dass der Host-Server es tatsächlich installiert hatte. Diese Zahl
    war zu dieser Zeit mit ungefähr 1% aller Domains im Internet gleichzusetzen.
    Trotz dieser eindrucksvollen Zahlen, stand das weitere Reifen von PHP/FI
    unter schwierigen vorzeichen, da es im Wesentlichen noch immer von einem
    Individuum entwickelt wurde.
   </p>
   <p class="para">
    <div class="example" id="example-1">
     <p><strong>Beispiel #1 PHP/FI Code-Beispiel</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;
  He, sie verwenden Netscape!&lt;p&gt;
&lt;!--endif--&gt;

&lt;!--sql database select * from table where user=&#039;$username&#039;--&gt;
&lt;!--ifless $numentries 1--&gt;
  Pardon, dieser Datensatz ist nicht vorhanden&lt;p&gt;
&lt;!--endif exit--&gt;
  Willkommen &lt;!--$user--&gt;!&lt;p&gt;
  Sie haben auf ihrem Konto &lt;!--$index:0--&gt; Credits übrig.&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 war die erste Version, die dem heutigen PHP gleicht. Da sie PHP/FI
    2.0 noch immer uneffizient fanden, und Features vermissten, die sie für eine
    eCommerce-Anwendung benötigten, die sie für ein Universitätsprojekt
    entwickelten, begannen Andi Gutmans und Zeev Suraski aus Tel Aviv, Israel,
    1997 ein weiteres vollständiges Rewrite des unterliegenden Parsers. Sie
    kontaktierten Rasmus online, und diskutierten diverse Aspekte der aktuellen
    Implementierung und ihrer Neuentwicklung von PHP. Im Bestreben die Engine zu
    verbessern, und auf der Basis der bestehenden Benutzer von PHP/FI aufbauend,
    entschieden sich Andi, Rasmus und Zeev zur Kooperation, um eine neue
    unabhängige Programmiersprache zu entwickeln. Die gesamte neue Sprache wurde
    unter einem neuen Namen veröffentlicht, welche die im Namen PHP/FI 2.0
    vorhandene Implizierung einer eingeschränkten persönlichen Nutzung
    beseitigte. Es wurde einfach &#039;PHP&#039; genannt, ein rekursives Akronym für PHP:
    Hypertext Preprocessor.
   </p>
   <p class="para">
    Eine der größten Stärken von PHP 3.0 waren die starken
    Erweiterungsmöglichkeiten. Zusätzlich zu der soliden
    Infrastruktur für eine Menge an Datenbanken, Protokollen und
    APIs, lockten vor allem die Erweiterungsmöglichkeiten von PHP 3
    dutzende von Entwicklern an, welche sich beteiligten, und neue
    Erweiterungsmodule einbrachten. Möglicherweise war das der
    Schlüssel zu dem gewaltigen Erfolg von PHP 3.0. Weitere
    besondere Merkmale von PHP 3.0 waren die Unterstützung für
    objektorientierte Syntax und die viel bessere sowie
    konsistentere Sprachsyntax.
   </p>
   <p class="para">
    Im Juni 1998, mit vielen neuen Entwicklern aus der ganzen Welt, die sich dem
    Einsatz angeschlossen hatten, wurde PHP 3.0 vom neuen PHP-Entwicklungsteam
    als offizieller Nachfolger für PHP/FI 2.0 angekündigt. Die aktive
    Entwicklung von PHP/FI 2.0, die von November des Vorjahres an weitgehend
    eingestellt worden war, wurde nun offiziell beendet. Nach einer ungefähr
    neunmonatigen öffentlichen Testphase wurde PHP 3.0 offiziell freigegeben. Zu
    dieser Zeit war es bereits auf über 70.000 Domains in der ganzen Welt
    installiert, und nicht länger auf POSIX-konforme Betriebssysteme beschränkt.
    Ein eher kleiner Anteil der Domains, die PHP als installiert angaben, waren
    auf Servern gehostet, die unter Windows 95, 98 und NT liefen, bzw. auf
    Macintosh-Rechnern. An seinem Höhepunkt war PHP 3.0 auf etwa 10% der
    Webserver im Internet installiert.
   </p>
  </div>

  <div class="sect2" id="history.php4">
   <h3 class="title">PHP 4</h3>
   <p class="para">
    Im Winter 1998, kurz nach der offiziellen Freigabe von PHP 3.0,
    begannen Andi Gutmans und Zeev Suraski den Kern von PHP
    umzuschreiben. Die Ziele waren eine verbesserte Leistung von
    komplexen Applikationen, und eine verbesserte Modularität des
    Code-Basis. Solche Applikationen wurden durch die neuen
    Leistungsmerkmale von PHP 3.0, der Unterstützung einer großen
    Auswahl von Datenbanken und APIs von Drittanbietern möglich
    gemacht, aber PHP 3.0 war nicht dafür entworfen, solche
    komplexen Applikationen auch effizient zu handhaben.
   </p>
   <p class="para">
    Die neue Engine, tituliert als &#039;Zend Engine&#039; (aus den Vornamen
    Zeev und Andi gebildet), entsprach diesen Zielen im Design
    erfolgreich, und wurde zum ersten Mal Mitte 1999 eingeführt.
    PHP 4.0, das auf dieser Engine, verbunden mit einer großen
    Auswahl an zusätzlichen Leistungsmerkmalen basiert, wurde im
    Mai 2000 offiziell freigegeben, fast zwei Jahre nach seinem
    Vorgänger PHP 3.0. Zusätzlich zu der stark verbesserten
    Leistung, inkludierte PHP 4.0 andere wichtige Leistungsmerkmale,
    wie Unterstützung für viele weitere Webserver, HTTP-Sessions,
    Ausgabepufferung, sicherere Wege im Umgang mit Benutzereingaben,
    und verschiedene neue Sprachkonstrukte.
   </p>
  </div>

  <div class="sect2" id="history.php5">
   <h3 class="title">PHP 5</h3>
   <p class="para">
    PHP 5 wurde im Juli 2004 nach langer Entwicklung und mehreren
    Pre-Releases veröffentlicht. Der Kern von PHP 5 ist die
    <code class="literal">Zend Engine 2.0</code>, die ein neues Objektmodell und
    Dutzende anderer neuer Features einführt.
   </p>
   <p class="para">
    Das Entwicklerteam von PHP besteht aus Dutzenden von Entwicklern, ergänzt
    durch Dutzende von weiteren Personen, die an verwandten Projekten wie PEAR,
    PECL, der Dokumentation, und einer Netzwerkinfrastruktur von gut über
    einhundert individuellen Webservern auf sechs der sieben Kontinente,
    arbeiten. Obgleich nur eine Schätzung basierend auf Statistiken der
    vergangenen Jahre, kann man gewiss davon ausgehen, dass PHP nun auf
    dutzenden oder vielleicht sogar hunderten von Millionen Domains in der
    ganzen Welt installiert ist.
   </p>
  </div>

  <div class="sect2" id="history.php6">
   <h3 class="title">PHP 6</h3>
   <p class="para">
    Für PHP 6 war geplant, eine umfassende Unterstützung für Unicode in der
    Engine und in der Sprache zu implementieren. Diese Arbeit wurde später
    aufgegeben, aber andere für PHP 6 vorgesehene Funktionen wurden stattdessen
    in PHP 5.3 (<a href="language.namespaces.php" class="link">Namensräume</a>) und
    PHP 5.4 (<a href="language.oop5.traits.php" class="link">Traits</a>, Kurzform der
    Array-Syntax) integriert.
   </p>
  </div>

  <div class="sect2" id="history.php7">
   <h3 class="title">PHP 7</h3>
   <p class="para">
    PHP 7.0 wurde 2015 veröffentlicht und enthielt eine neue Hauptversion des
    Kerns, die <code class="literal">Zend Engine 3.0</code>, die erhebliche
    Verbesserungen der Performance (bis zu doppelt so schnell wie PHP 5. 6) und
    des Speicherverbrauchs, konsistente 64-Bit-Unterstützung, Verbesserungen
    bei Exceptions, einen sicheren Zufallszahlengenerator, den
    <a href="language.operators.comparison.php#language.operators.comparison.coalesce" class="link">Null-Koaleszenz-Operator (??)</a>,
    <a href="language.oop5.anonymous.php" class="link">anonyme Klassen</a> und weitere
    Features mit sich brachte.
   </p>
   <p class="para">
    In späteren Versionen der PHP 7-Reihe wurden weitere Sprachfeatures
    eingeführt, wie die
    <a href="function.list.php" class="link">Kurzform der list-Syntax</a> (7.1),
    die Deklaration von Objektparametern und Rückgabetypen (7.2), eine neue
    flexible Syntax für
    <a href="language.types.string.php#language.types.string.syntax.heredoc" class="link">Heredoc</a> und
    <a href="language.types.string.php#language.types.string.syntax.nowdoc" class="link">Nowdoc</a> (7.3),
    typisierte Eigenschaften (7.4) und eine neue
    <a href="class.ffi.php" class="link">Schnittstelle für Fremdfunktionen</a> (7.4).
   </p>
  </div>

  <div class="sect2" id="history.php8">
   <h3 class="title">PHP 8</h3>
   <p class="para">
    PHP 8.0 wurde erstmals im Jahr 2020 veröffentlicht und war ein weiteres
    umfangreiches Update der Sprache PHP. Es enthielt viele neue Features und
    Optimierungen, darunter
    <a href="functions.arguments.php#functions.named-arguments" class="link">benannte Argumente</a>,
    <a href="language.types.declarations.php#language.types.declarations.composite.union" class="link">Union-Typen</a>,
    <a href="language.attributes.php" class="link">Attribute</a>,
    <a href="language.oop5.decon.php#language.oop5.decon.constructor.promotion" class="link">Beförderung von Konstruktor-Eigenschaften</a>,
    den Ausdruck <a href="control-structures.match.php" class="link"><code class="literal">match</code></a>,
    den <a href="language.oop5.basic.php#language.oop5.basic.nullsafe" class="link">Nullsafe-Operator (<code class="literal">?-&gt;</code>)</a>,
    einen neuen optimierenden JIT-Compiler und Verbesserungen im Typsystem, der
    Fehlerbehandlung und der Konsistenz.
   </p>
   <p class="para">
    In späteren Versionen der PHP 8-Reihe wurden neue Sprachfeatures
    eingeführt, darunter
    <a href="language.enumerations.php" class="link">Aufzählungen</a> (8.1),
    <a href="language.fibers.php" class="link">Fibers</a> (8.1),
    <a href="language.oop5.basic.php#language.oop5.basic.class.readonly" class="link">schreibgeschützte Klassen</a>
    (8.2), Disjunctive Normal Form (DNF)-Typen (8.2) und
    typisierte Klassenkonstanten (8.3).
   </p>
  </div>
 </div><?php manual_footer($setup); ?>