
PHP (rekursives Akronym für „PHP: Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine Skriptsprache mit einer an C bzw. Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten verwendet wird. Bei PHP handelt es sich um Open-Source-Software.
PHP zeichnet sich besonders durch die leichte Erlernbarkeit, die breite Datenbankunterstützung und Internet-Protokolleinbindung, sowie die Verfügbarkeit zahlreicher, zusätzlicher Funktionsbibliotheken aus. Es existieren zum Beispiel Bibliotheken, um GTK-Anwendungsprogramme nur mit PHP zu entwickeln.
Darstellung der Funktionsweise von PHPPHP ist eine serverseitig interpretierte Sprache. Das bedeutet, dass der Quelltext – im Gegensatz zu JavaScript, welches in den HTML-Code eingebettet wird – nicht an den Browser übermittelt wird, sondern an einen Interpreter auf dem Webserver. Erst dessen Ausgabe wird an den Browser geschickt. In den meisten Fällen ist dies eine HTML-Seite, wobei es mit PHP möglich ist, andere Datentypen, wie z. B. Bilder oder PDF-Dateien, zu generieren.
Mit PHP lassen sich aber auch Skripte, die nichts mit dem WWW zu tun haben, wie beispielsweise in Perl schreiben. Mit einer GTK-Erweiterung kann sogar eine grafische Oberfläche hinzugefügt werden.
Um eine PHP-Datei ausführen zu können, benötigt man ein System, das mit den in der Datei enthaltenden Anweisungen umzugehen weiß. Aus diesem Grund wird durch eine Schnittstelle (beispielsweise ISAPI oder CGI) der Interpreter von einem Serverdaemon bzw. Serverdienst (in der Regel Apache oder IIS) ausgeführt. Die auf WWW-Servern übliche Kombination von Linux/Windows als Betriebssystem, Apache(2) als Webserver, MySQL-Server als Datenbank und PHP wird LAMP bzw. WAMP genannt. Fertige LAMP- und WAMP-Pakete, die das einzelne Laden und Konfigurieren von Paketen aus dem WWW unnötig machen, werden im Projekt XAMPP entwickelt, wobei es inzwischen Versionen für Linux, Solaris, Windows und Mac OS X gibt.
Die Vorteile der serverseitigen Ausführung sind, dass beim Client (Browser) keine speziellen Fähigkeiten erforderlich sind oder Inkompatibilitäten auftreten können, wie es beispielsweise bei Javascript und den verschiedenen Browsern der Fall ist. Außerdem bleibt der PHP-Quelltext der Seite auf dem Server und nur der generierte Code ist für den Besucher einsehbar. Gleiches gilt für andere Ressourcen wie z. B. Datenbanken, die daher auch keine direkte Verbindung zum Client benötigen.
Nachteilig ist, dass jede Aktion des Benutzers erst bei einem erneuten Aufruf der Seite erfasst werden kann. Außerdem wird jede PHP-Seite vom Server interpretiert, wodurch dessen Auslastung steigt. Diese Vor- und Nachteile sind nicht PHP-spezifisch, sondern treten bei grundsätzlich jeder Webapplikation auf. Zusätzlich liest, prüft und übersetzt der Interpreter den Quelltext bei jedem Aufruf erneut. Dies mindert die Reaktionsgeschwindigkeit des Servers und erhöht nochmals die Auslastung. Um dem entgegen zu wirken, wurde eine Erweiterung namens MMCache (http://turck-mmcache.sourceforge.net/) entwickelt. Diese speichert eine zur Ausführung vorbereitete Version des Programms zwischen und beschleunigt somit den Zugriff auf diese Datei beim nächsten Aufruf.
PHP ist zeitweise etwas ungesteuert gewachsen. So funktioniert der Zugriff auf eine Datenbank mittels der MySQL-Funktionen anders als über ODBC; noch deutlicher wird dies beispielsweise bei Inkonsistenzen der Funktionen zur String-Verarbeitung. Zwar besitzt PHP bereits seit Version 3 grundlegend die Funktionalität, um objektorientiertes Programmieren zu unterstützen (diese wurden in Version 4 deutlich verbessert), bisher ist jedoch die gesamte Standardbibliothek prozedural angelegt. Auch bei objektorientierten Sprachen übliche Features wie Kapselung der Daten (z. B. private Variablen), Destruktoren (ersatzweise lässt sich aber in den meisten Fällen die Funktion register_shutdown_function() (http://www.php.net/register-shutdown-function) verwenden) oder Fehlerbehandlung per Exceptions (lediglich etwas unsauberer Workaround mit set_error_handler() (http://de3.php.net/manual/de/function.set-error-handler.php), error_reporting() (http://de3.php.net/manual/de/function.error-reporting.php) möglich) suchte man in PHP 4 noch vergeblich.
Die aktuelle Version, mit der neuen Zend Engine 2, ist seit dem 13. Juli 2004 PHP 5. Um die Missstände aus der vorherigen Version zu beheben, wurden Änderungen am Verhalten von PHP selbst nötig (so sind Variablen in PHP 5, wie bei den meisten Sprachen, nur noch eine Referenz auf das Objekt und nicht wie in PHP 3 und 4 das Objekt selbst). 

Dieser Artikel basiert auf dem Artikel PHP aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar. 

<- Zurück 
|