GlossarWiki:Musterartikel

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Definition

PHP ist ein so genanntes „rekursives Akronym“ und bezeichnet Hypertext Preprocessor. PHP ist eine Skriptsprache mit einer an C oder auch Perl angelehnten Syntax, welche hauptsächlich zur Erstellung von dynamischen Webseiten benutzt wird. PHP ist Open-Source, das bedeutet, jeder kann bei der Weiterentwicklung von PHP mithelfen.

Geschichte

PHP wurde 1995 von Rasmus Lerdorf entwickelt. Der Begriff stand damals allerdings noch für Personal Home Page Tools und stellte noch keine eigenständige Skriptsprache dar, sondern eine Sammlung von Perl-Skripten, die Rasmus Lerdorf entwickelte, um Zugriffe auf seinen Online-Lebenslauf zu protokollieren. Bald darauf schrieb Lerdorf eine größere Umsetzung seiner Skripte in C – C ist auch weiterhin noch die Entwicklungssprache, in der PHP geschrieben ist. Schließlich wurde 1997 PHP/FI (wobei FI für Form Interpreter steht) veröffentlicht; es war Perl sehr ähnlich, wenn auch viel eingeschränkter, einfacher und teilweise ziemlich inkonsistent.

PHP 3 wurde 1998 dann von Andi Gutmans und Zeev Suraski neu geschrieben, da ihrer Meinung nach das mittlerweile erschienene PHP/FI 2 nicht sonderlich für die Zwecke von eCommerce (also dem elektronischem Handel im Internet) geeignet war – dabei wurde auch die heute übliche Bedeutung für PHP eingeführt. Die Entwicklung von PHP/FI wurde daraufhin eingestellt, der ursprüngliche Entwickler Lerdorf kooperierte nun mit Gutmans und Suraski bei der Entwicklung von PHP. Diese beiden gründeten kurz darauf die Firma Zend Technologies Ltd., welche die so genannte Zend Engine 1 entwickelte, die das Herz von PHP 4 darstellt. Dieses erschien im Jahr 2000, und fügte der Sprache einfache Elemente der objektorientierten Entwicklung (OOP) sowie die Möglichkeit, mit Sessions (z.B. Cookies) umzugehen.

Die neueste Version, PHP 5, erschien im Jahr 2004. Erstmals ist nun ernsthaftes objektorientiertes Programmieren möglich, des Weiteren kann die Sprache nun auch Exceptions (Ausnahmen) erzeugen bzw. damit umgehen.

Die Versionen 4 und 5 von PHP werden weiterentwickelt, derzeit aktuell sind die Versionen 5.1 RC 1 (Release Candidate), 5.0.5 sowie 4.4.1.

Funktionsweise

PHP ist eine serverseitig interpretierte Sprache. Das bedeutet, dass der Quelltext – im Gegensatz zum Beispiel zu JavaScript, welches in den meisten Fällen clientseitig ausgeführt 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 ein HTML-Dokument (Hypertext Markup Language), es ist mit PHP allerdings ebenfalls möglich, andere Dateitypen wie z.B. Bilder oder auch PDF-Dateien zu generieren. Beispiel.jpg

Um eine PHP-Datei im Rahmen einer Internetanwendung ausführen zu können, benötigt man ein System, das mit den in der Datei enthaltenen Anweisungen umzugehen weiß. Aus diesem Grund wird durch eine Schnittstelle (beispielsweise ISAPI (Internet Server API) oder CGI (Common Gateway Interface)) der PHP-Interpreter von einem Serverdienst (auch Serverdaemon genannt) ausgeführt – in der Regel ist dies der Apache oder der IIS (Internet Information Service).

Die Vorteile der serverseitigen Ausführung sind, dass beim Client, also dem Browser, keine speziellen Fähigkeiten erforderlich sind oder das Inkompatibilitäten auftreten können, wie es beispielsweise bei JavaScript und den verschiedenen Browsern oftmals der Fall war; auf dem Client muss z.B. kein PHP-Interpreter oder ähnliches installiert sein, um die Seite anfordern bzw. anzeigen lassen zu können. Außerdem bleibt der PHP-Quelltext der Seite auf dem Server und nur die generierten 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. Da PHP normalerweise in einer Webserverumgebung läuft, unterliegt es auch dem zustandslosen HTTP (allerdings wirkt PHP seit Version 4 mit seinem Sessionmechanismus dagegen an). Außerdem wird jede PHP-Seite vom Server interpretiert, wodurch dessen Belastung steigt. Diese Vor- und Nachteile sind allerdings nicht PHP-spezifisch, sondern treten typischerweise bei jeder Webapplikation auf. Allerdings liest, prüft und übersetzt der PHP-Interpreter den Quelltext bei jedem Aufruf erneut. Dies mindert die Reaktionsgeschwindigkeit des Servers und erhöht nochmals dessen Auslastung.

Quellen