PHP 5 mit Fokus auf Objektorientierung

25.07.2002
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.
MÜNCHEN (COMPUTERWOCHE) - 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 und Unternehmen ermuntern, PHP auch für komplexere Aufgaben heranzuziehen.

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 400.000 geschätzt.

Zend Technologies verfolgt ein typisches Open-Source-Geschäftsmodell und bietet für PHP kommerzielle Zusatzprodukte wie die Entwicklungsumgebung „Zend Studio“ an. Als Abnehmer kommen dafür aber weniger die traditionellen Web-Entwickler, sondern vornehmlich Enterprise-Kunden in Frage.
Zend Technologies verfolgt ein typisches Open-Source-Geschäftsmodell und bietet für PHP kommerzielle Zusatzprodukte wie die Entwicklungsumgebung „Zend Studio“ an. Als Abnehmer kommen dafür aber weniger die traditionellen Web-Entwickler, sondern vornehmlich Enterprise-Kunden in Frage.

Gefahr eines OO-Stückwerks droht

Die Version 4 (derzeit aktuell 4.2.2) 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“.

Die traditionelle PHP-Zielgruppe der Web-Entwickler zeigt sich allerdings gegenüber der Nutzung einer integrierten Entwicklungsumgebung (IDE) weitgehend resistent, das Verbergen von Quellcode vor fremden Blicken mit Hilfe des Encoders ist ihr selten ein Anliegen. Neben der Enterprise-Kundschaft peilt Zend daher auch Kooperationen mit Herstellern von Autorenwerkzeugen an. So nahm Adobe für „Golive“ Technologie der israelischen Firma in Lizenz.

Konkurrenz zu ASP.NET und Java Server Pages

In der Arbeitsteilung mit Java und .NET/COM muss PHP indes mit den entsprechenden Technologien der beiden Plattformen konkurrieren. Bei Microsoft handelt es sich dabei um ASP.NET, Sun sieht für die Erzeugung dynamischer Web-Inhalte vornehmlich Java Server Pages (JSPs) vor. Gerade Letztere gewinnen für den unternehmensinterne Einsatz zunehmend an Attraktivität, weil Hersteller wie IBM oder Oracle Funktionen ihrer Server-Produkte für JSP-Entwickler über Tag Libraries leicht zugänglich machen. Nicht zuletzt sind es Open-Source-Projekte wie Apaches „Jakarta“, die mit Frameworks wie „Struts“ oder eigenen Taglibs die Nutzung von JSPs vereinfachen.