PHP 5 mit Fokus auf Objektorientierung

30.07.2002
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.
Die bevorstehende Version 5 der populären Web-Sprache PHP bringt vor allem Neuerungen in puncto Objektorientierung. Eine bessere Integration mit Java und Microsofts .NET/COM soll die Scriptsprache als universelles Mittel zur Entwicklung von Web-Frontends etablieren.

Die Scriptsprache "PHP Hypertext Processor" (PHP) repräsentiert zweifellos eine weitere Erfolgsgeschichte für Open Source. Seitdem sie 1998 in der Version 3 die nötige Stabilität und technische Reife erlangte, fand sie rasante Verbreitung. Mittlerweile hat die Technik für die Erzeugung dynamischer Web-Inhalte proprietäre Konkurrenten wie Microsofts "Active Server Pages" (ASP) oder Macromedias "Cold Fusion" überflügelt. Laut Netcraft existieren bereits über fünf Millionen Sites, auf denen PHP installiert ist. Diese hohe Zahl verdankt sich vor allem der Tatsache, dass die meisten Linux-Distributionen den Apache-Server inklusive PHP-Modul einrichten.

Die Entwickler-Site PHP.net nimmt aber an, dass davon rund drei Millionen aktiv genutzt werden. Die Zahl der weltweiten PHP-Entwickler wird auf etwa 400000 geschätzt. Gefahr eines OO-Stückwerks droht Die Version 4 (derzeit aktuell 4.2.1) basiert auf einem neu geschriebenen Interpreter namens "Zend Engine". Sie trägt den Namen der Firma Zend, die von den beiden federführenden Entwicklern Zeev Suraski und Andi Gutmans gegründet wurde.

Die bevorstehende Version 5 von PHP soll auf der Zend Engine 2 beruhen, die kürzlich in einer Alpha-Variante freigegeben wurde. Dort setzt das PHP-Team die in der Version 3 begonnene Erweiterung der ursprünglich prozeduralen Sprache um objektorientierte Features fort. Wie der Open-Source-Konkurrent Perl zeigt, ist dieses Verfahren aber nicht ganz unproblematisch. Ein derartiges Nachrüsten kann OO-Stückwerk hervorbringen, das von der bestehenden Anwenderschaft zugunsten prozeduraler Programmierung weitgehend ignoriert wird.

Gerade die mit Perl 5 eingeführte Objektorientierung wurde häufig kritisiert und erfährt in der Version 6 erhebliche Änderungen. Auch die Neuerungen von PHP 5 haben primär die Aufgabe, OO-Mängel der aktuellen Version zu beseitigen. Die damit einhergehenden Änderungen der Sprachsyntax sollen aber auf bestehende Scripts kaum Auswirkungen haben. Für die Ausführung von Legacy-Code bietet die neue Engine ansonsten einen Kompatibilitätsmodus. Ergänzung zu Java und .NET Auch wenn die neuen Features den Eindruck erwecken, dass PHP im Vergleich zu Java erst allmählich erwachsen wird, so lassen sich an die Scriptsprache nicht die gleichen Maßstäbe anlegen wie etwa an die Sun-Technologie. Während Java laut Erfinder James Gosling von Anfang an so ausgelegt wurde, dass es sich besonders für die Entwicklung sehr großer Projekte eigne, beruht der große Erfolg von PHP auf seiner Einfachheit. Der enorme Fundus an Zusatzmodulen, die gute Web-Integration, der einfache Zugriff auf Datenbanken sowie die Möglichkeit zur prozeduralen Programmierung verschafften ihr schnell die Gunst von Entwicklern dynamischer Web-Inhalte. Sie repräsentieren weiterhin die größte Nutzergruppe, und sie wollen diese Vorzüge der Sprache auch zukünftig nicht missen.

Die neuen Features hingegen sollen besonders Unternehmen ermuntern, PHP auch für komplexere Aufgaben heranzuziehen. Nachdem sich die Plattformauswahl für die Programmierung von Geschäftslogik immer mehr auf Java und .NET einengt, sieht Zeev Suraski für PHP eine ergänzende Rolle. Die Sprache soll aufgrund ihrer Vorzüge für die Entwicklung von Web-Frontends herangezogen werden, aus denen Funktionen auf Applikations-Servern aufgerufen werden. Besonders die standardmäßige Nutzung von Objektreferenzen in PHP 5 sowie die Angleichung anderer OO-Features vereinfachen die Anbindung an die beiden Systeme.

Im Enterprise-Einsatz sehen die beiden Hauptentwickler der Zend-Engine die besten Geschäftsmöglichkeiten für ihre Company. Sie verfolgen das für Open Source recht typische Business-Modell, ergänzende kommerzielle Produkte für freie Software anzubieten. Im Fall von Zend Technologies besteht diese in der Entwicklungsumgebung "Studio", dem Deployment-Tool "Encoder" sowie dem Script-Cache "Accelerator".