PHP
PHP ist eine serverseitig interpretierte Sprache, was bedeutet, dass der Quelltext – im Gegensatz zu JavaScript, welches direkt in den HTML-Code eingebettet wird – nicht direkt 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 ein HTML-Dokument, wobei es mit PHP aber auch möglich ist, andere Datentypen, wie z. B. Bilder oder PDF-Dateien, zu erstellen.
Mit PHP lassen sich auch Skripte, die nichts mit dem WWW zu tun haben, schreiben. Mit einer GTK-Erweiterung kann sogar eine grafische Benutzeroberfläche hinzugefügt werden.
PHP-Dateien brauchen eine Schnittstelle die mit den in der Datei enthaltenen Anweisungen umzugehen weiß. Das ist zumeist der Interpreter von einem Server. So ergibt sich auch die auf WWW-Servern übliche Kombination von Linux/Windows als Betriebssystem, Apache als Webserver, MySQL-Server als Datenbank und PHP. Diese Konfiguration wird kurz LAMP bzw. WAMP genannt.
Die Vorteile der serverseitigen Ausführung sind, dass beim Client (Browser) keine spezielle Konfiguration erforderlich ist oder Inkompatibilitäten auftreten können, wie es beispielsweise bei JavaScript und den verschiedenen Browsern der Fall ist. Außerdem bleibt der PHP-Quelltext auf dem Server und nur die generierte Daten sind 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 Belastung 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.
Weil PHP-Code frei - also nicht urheberrechtlich geschützt (open source) - ist, ist es 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.
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). In PHP 5 wurden außerdem wichtige Features wie z.B. Destruktoren und die Festlegung der Sichtbarkeit einer (Klassen-)Eigenschaft (public, private oder protected) ergänzt. In PHP 5.1 wurde mit PHP Data Objects (PDO) eine neue, objetorientierte Erweiterung aufgenommen, die einen einheitlichen Zugriff auf die verschiedenen SQL-Datenbanken ermöglicht. Eine vollständige Liste der Änderungen von PHP 4 zu 5 kann auf php.net abgerufen werden.
Bemängelt wird aber noch immer der auch in der Version 5 unzureichende Support von Unicode. Bisher bietet PHP nur einige Funktionen, bei denen ein Zeichensatz (darunter auch UTF-8) angegeben werden kann, sowie Funktionen zur Konvertierung von und nach UTF-8, aber noch keine durchgehende Unterstützung. |