Zum Inhalt springen

PHP

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Januar 2005 um 15:57 Uhr durch Haeber (Diskussion | Beiträge) (Datenbankanbindung: Typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Allgemein

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.

PHP zeichnet sich besonders durch die leichte Erlernbarkeit, breite Datenbankunterstützung und Internet-Protokolleinbindungen, sowie die Verfügbarkeit zahlreicher, zusätzlicher Funktionsbibliotheken aus. Es existieren zum Beispiel Bibliotheken, um allein mit PHP GTK-Anwendungen zu entwickeln.

Darstellung der Funktionsweise von PHP

PHP ist eine serverseitig interpretierte Sprache. Das bedeutet, dass sie – im Gegensatz zu HTML oder weitestgehend JavaScript – den Quelltext nicht direkt an den Browser übermittelt, sondern ihn erst vom Interpreter auf dem Webserver ausführen lässt. Die Ausgabe des Skriptes wird dann an den Browser geschickt. Die Ausgabe ist in den meisten Fällen eine HTML-Seite, es ist aber auch möglich, mit PHP andere Datentypen wie z. B. Bilder oder PDF-Dateien zu generieren.

Es lassen sich mit PHP aber ebenso Skripte wie z. B. in Perl schreiben, die auf dem ausführenden Rechner bestimmte Aufgaben durchführen. Mittels der GTK-Erweiterung lassen sich auch Skripte mit grafischer Oberfläche schreiben.

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 z. B. 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.

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-Bearbeitung. 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() verwenden) oder Fehlerbehandlung per Exceptions (lediglich etwas unsauberer Workaround mit set_error_handler(), error_reporting() möglich) suchte man in PHP 4 noch vergeblich.

Die aktuelle Version ist seit 13. Juli 2004 PHP 5 mit der neuen Zend Engine 2. Damit wurde dieser Missstand behoben. Dafür 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).

Geschichte

PHP wurde 1995 von Rasmus Lerdorf entwickelt. PHP stand damals noch für Personal Home Page Tools und war ursprünglich eine Sammlung von Perl-Skripten. Bald schrieb er jedoch eine größere Umsetzung in C, worin PHP auch heute noch geschrieben ist. Das schließlich veröffentlichte PHP/FI (FI stand für Form Interpreter) war Perl sehr ähnlich, wenn auch viel eingeschränkter, einfach, und ziemlich inkonsistent.

PHP 3 wurde von Andi Gutmans und Zeev Suraski neu geschrieben, da das inzwischen erschienene PHP/FI 2 ihrer Meinung nach für eCommerce zu schwach war. Auch die Bedeutung der Abkürzung „PHP“ wurde hierbei geändert. Lerdorf kooperierte mit Gutmans und Suraski und die Entwicklung von PHP/FI wurde eingestellt. Die von Gutmans und Suraski gegründete Firma Zend Technologies Ltd. entwickelte in der Folge die Zend Engine 1, die das Herz von PHP 4 darstellt.

Da das World Wide Web Ende der 1990er Jahre stark wuchs, bestand großer Bedarf an Skriptsprachen, mit denen sich dynamische Webseiten realisieren ließen. PHP wurde mit der Zeit populärer als Lösungen wie der vorherige De-facto-Standard Perl, welches mit der extrem steilen Lernkurve von PHP nicht konkurrieren konnte, oder Microsofts ASP.

Meilensteine

Lizenz und Bezug

PHP wird unter der PHP License vertrieben, einer Softwarelizenz, die die freie Verwendung und Veränderung der Quelltexte erlaubt. Die Software kann somit kostenlos aus dem Internet geladen werden; daneben ist PHP jedoch schon bei einigen Betriebssystemen (z. B. bei allen relevanten Linux-Distributionen oder Mac OS X) im Lieferumfang enthalten. Seit dem 13. Juli 2004 liegt PHP in der komplett überarbeiteten Version 5 vor. Diese, aber auch ältere Versionen, können von der offiziellen Homepage heruntergeladen werden.

Source-Code-Beispiele

Standardausgabe

<?php

echo "Hallo Welt!";

?>

Dies ist eine einfache Anweisung, die "Hallo Welt!" in die Ausgabe schreibt. Zu beachten ist, dass eine PHP-Anweisung immer mit einem Semikolon abgeschlossen wird und ein String zwischen zwei Zollzeichen, welche per Umschalt + 2 erzeugt werden, steht.

Genauer betrachtet ist echo eine Funktion, die aber eine Ausnahme darstellt, da bei ihr die Argumente nicht in runde Klammern eingeschlossen werden müssen.

Kommentar

<?php

// Dies ist ein Kommentar, dessen Ende das letzte Zeichen dieser Zeile ist
#  Dies ist auch ein Kommentar, analog zum "//"-Kommentar oben
/* Dies ist ein Kommentar der über
   mehrere Zeilen verlaufen kann
   und hier zu Ende geht. */

?>

Variable

<?php

$str = "Hallo Welt!";
echo $str;

?>

Die Anweisung $str = "Hallo Welt!"; legt eine neue Variable mit dem Namen str an und weist dieser den Wert Hallo Welt! zu. Zu beachten ist, dass Variablen durch ein vor ihrem Namen stehendes $ gekennzeichnet werden.

Die Anweisung echo $str; gibt hier die Variable $str aus.

Variablen benötigen in PHP keine explizite Datentyp-Deklaration. Der Datentyp ergibt sich aus dem Kontext. Im Beispiel wird die Zeichenkette "Hallo Welt!" zugewiesen. Somit erhält die Variable $str automatisch den Datentyp String. Man nennt diese Art der Datentypisierung auch loose typing.

Funktion

<?php

function sagHallo() {
    return "Hallo Welt!";
}

echo sagHallo();

?>

Eine Funktion wird durch das Konstrukt function name ( parameter ) { code } definiert. Die Anweisung return "Hallo Welt!"; liefert den Wert "Hallo Welt!" zurück und beendet damit die Funktion. Der Wert der zurückgegeben wurde, wird hier durch die Anweisung echo sagHallo(); ausgegeben.

Datenbankanbindung

Verbindung mit einer Datenbank (MySQL) in PHP und Ausgabe der Daten auf dem Bildschirm.

<?php

mysql_connect('localhost', 'nutzer', 'passwort');
mysql_select_db('datenbank1');
$ergebnis = mysql_query('SELECT * FROM tabelle1');
while ($ausgabe = mysql_fetch_array($ergebnis)) {
    echo $ausgabe['tabellen_titel'];
}

?>

Die Funktion mysql_connect stellt eine Verbindung zu einem MySQL-Server her. Als Argumente müssen der Host der Datenbank, der Benutzername und das Passwort angegeben werden. Die Funktion mysql_select_db wählt eine Datenbank aus, die benutzt werden soll. Im nächsten Schritt werden alle Daten aus der Tabelle tabelle1 abgefragt und mittels einer while-Schleife wird von jedem Datensatz der Wert der Spalte tabellen_titel ausgegeben.

Siehe auch: PEAR, PECL, CGI, LAMP

Verbreitete PHP-Applikationen

Es gibt verschiedene, sehr weit verbreitete Applikationen, die in PHP geschrieben wurden. Hier eine kleine Auswahl:

Übrigens läuft auch die Wikipedia auf einer PHP-Applikation, siehe MediaWiki.

Literatur

Dies ist eine kleine Auswahl von Links zu PHP. Eine ausführliche Linksammlung findet sich im Open Directory Project.

Zeitschriften

Vorlage:WikiReader Internet