"Not that the story need be long,
but it will take a long while to make it short."
Wenn man PHP als Sprache und als Plattform mit einem Wort beschreiben möchte, dann ist dieses Wort "Integration".
Der Sprachkern von PHP und die Ausführungsumgebung sind darauf angelegt, beliebige Bibliotheken und neue Funktionen leicht und schnell in der Sprache zur Verfügung zu stellen: PHP ist wie die Borg in Star Trek - es fügt die Fertigkeiten anderer den eigenen hinzu, um Perfektion zu erreichen.
Aber auch die Plattform PHP ist integrativ: PHP spricht eine ganze Reihe von Protokollen zum Datenaustausch und liest und schreibt nahezu alle dokumentierten Dateiformate und auch ein paar undokumentierte, für die lediglich proprietäre Bibliotheken zur Verfügung stehen. Diese Eigenschaften haben PHP zu dem bevorzugten Leim gemacht, mit dem ein Entwickler in einer Firma mit geringem Aufwand die unterschiedlichsten Daten und Prozesse zu einem gemeinsamen Ganzen zusammenkleben kann.
Schließlich ist da noch die PHP-Anwendergemeinschaft. Für viele ist PHP die erste Programmiersprache, und sie sind genau wie die Sprache im Laufe der vergangenen Jahre mit der Sprache und ihren Fähigkeiten gewachsen.
Anwender kommen von anderen Systemen zu PHP und bringen Wissen und Programmiertechniken mit, für die im Rahmen von PHP Formulierungen und Ausdrucksmöglichkeiten gefunden werden müssen. Dieser Prozess ist manchmal schmerzhaft: Wie natürliche Sprachen auch leben Programmiersprachen stark von Redewendungen und Standardformulierungen für bestimmte Sachverhalte, und diese sind nicht nur von der Syntax, sondern auch von den dahinter stehenden Denkprozessen in der Gemeinschaft der Anwender einer Sprache bestimmt.
Wenn also eine Welle von jungen Entwicklern mit einem Hintergrund in objektorientierter Programmierung auf eine Sprache wie PHP 4 trifft, dann kommt es zu Wachstumsschmerzen. Denn PHP 4 beherrschte zwar nominell Objektorientierung, war aber nicht ernsthaft auf den Einsatz von Methoden der OOP eingerichtet. Und so sind die Formulierungsmöglichkeiten sehr hölzern und unbeholfen, die PHP 4 solchen Entwicklern bietet. Eines der Hauptziele bei der Entwicklung von PHP 5 war folgerichtig, den Sprachkern zu erweitern, damit er die Techniken und Redewendungen von OOP-Entwicklern angemessen darstellen kann.
So wird mit PHP 5 zum ersten Mal eine Plattform für den LAMP-Entwickler verfügbar, mit der sich zeitgemäße Entwurfsmethoden und OOP-Techniken mit vertretbarem Aufwand einsetzen lassen, und PHP hat auch diese Fertigkeiten den eigenen hinzugefügt. Es fehlt nur noch eine Anleitung, in der diese Fertigkeiten auf eine Weise beschrieben werden, die den Kern der Sache ohne Umschweife darstellt.
Dieses Buch möchte diese Anleitung sein: Es hält sich nicht mit Dingen auf, die man in jedem beliebigen anderen Buch über PHP oder im wirklich guten Online-Handbuch zur Sprache nachlesen kann, sondern konzentriert sich darauf, objektorientierte Programmiertechniken und die neuen Möglichkeiten von PHP 5 zu integrieren.
Demjenigen, für den PHP erste Programmiersprache ist, eröffnet dieses Buch einen guten Einstieg in die Objektorientierung. Demjenigen, der von anderen Programmiersprachen zu PHP kommt, zeigt es die üblichen Redewendungen, mit denen PHP-Entwickler objektorientierte Sachverhalte formulieren.
Und weil Sebastian Bergmann sich die Zeit genommen hat, eine lange Geschichte kurz zu formulieren, haben beide Lesergruppen die Chance, diese Dinge zu lernen, ohne sich dabei mit dem 500 Seiten dicken Wälzer zu belasten, der entstanden wäre, wenn er dieses Buch in der Hälfte der Zeit fertig gestellt hätte.
Karlsruhe, im Dezember 2004
Kristian Köhntopp [1]
[1] Kristian Köhntopp begann 1997 mit der Entwicklung von Datenbank-getriebenen Webseiten in PHP/FI. Seine Arbeiten an PHPLIB haben die Entwicklung vieler anderer PHP-Bibliotheken und der OO-Features der Sprache beeinflußt. Ende 1999 stieß er die Einrichtung der deutschen USENET-Groups zu PHP an und pflegte die folgenden drei Jahre lang die FAQ zu diesen Gruppen. Derzeit arbeitet er bei der WEB.DE AG in Karlsruhe.