PHP-Frameworks: Zend, eZ Components, Symfony und CakePHP

Immer mehr PHP-Entwickler denken beim Wort Enterprise nicht mehr nur an Science Fiction, sondern auĂźerdem an interessante Anwendungen im Unternehmen: Alte und neue Frameworks treten an, die Arbeit zu erleichtern.

vorlesen Druckansicht
Lesezeit: 13 Min.
Von
  • Markus Franz
Inhaltsverzeichnis

Am 2. Juli 2007 ist das Zend Framework in der ersten stabilen Version erschienen. Damit begegnet das wichtigste Unternehmen der Szene dem Ruf nach neuen Techniken der Anwendungsentwicklung fürs Web, den bisher viele andere – teilweise recht spezielle – Frameworks gestillt haben. Aus dem unüberschaubaren Angebot stechen vor allem Symfony, CakePHP, die eZ Components und eben das neue Zend Framework heraus. Die Veröffentlichung des Letzteren sei Anlass, die Produkte kurz zu vergleichen. Dabei geht es nicht (nur) um technische Details, sondern vor allem um die Hilfe zur Selbsthilfe.

Ob man überhaupt ein Framework braucht, muss jeder selbst entscheiden. Zu bedenken sei jedoch Folgendes gegeben: An PHP wird oft kritisiert, es sei zu schnell und unkontrolliert gewachsen – eine in vielen Bereichen berechtigte Kritik. Der Zugriff auf Datenbanken, die Unicode-Unterstützung, Zugriff auf XML und Objektunterstützung treiben dem Entwickler zuweilen den Schweiß auf die Stirn. Damit daraus nicht Angstschweiß in Unternehmensprojekten wird, haben die Entwickler mit PHP 5 einige wichtige Punkte optimiert. Der wesentliche Trend ist dabei, schrittweise immer mehr Extensions eine Objektstruktur zu verpassen – beispielsweise SimpleXML oder PDO (PHP Data Objects).

Die Nutzung von Frameworks ist hier nur der nächste logische Schritt zur Professionalisierung der Sprache. Angeregt durch die Erfolge von Ruby on Rails oder der Java Server Faces möchten immer mehr PHP-Programmierer einerseits die Vorteile moderner Strukturen wie des Model-View-Controller-Modells (MVC) oder Datenbank-Mappings nutzen, um schöne und zukunftssichere Projekte zu schreiben. Andererseits sollen Frameworks einen Schritt weiter als die Standardbibliothek gehen und Komfort schaffen, indem langweilige und wiederkehrende Arbeit entfällt.

Hat man sich für den Einsatz von PHP in Kombination mit einem Framework entschieden, muss man schon nach kurzer Zeit feststellen, dass es eine große Zahl solcher Helfer gibt. Dieser Artikel beschränkt sich dennoch auf die vier oben genannten Projekte, da sie die größte Popularität gefunden haben und jeweils über eine aktive Community verfügen (ein Übrblick über alle vier findet sich unten).

Empfohlen ist für die Frameworks eine aktuelle PHP-Installation der Serie 5.1, besser 5.2. Anhänger von PHP 4 sind auf CakePHP beschränkt, das als Einziges unter dieser alten Version vollständig funktioniert – dennoch sei PHP 5 hier stark empfohlen. Für Symfony sollte zur einfachen Installation des Pakets die PEAR-Erweiterung/-Unterstützung installiert und aktiviert sein. Die andere Option, in der Dokumentation gut dargestellt, ist das direkte Einspielen über SVN. Wenn man nicht im Besitz eines eigenen (Virtual-)Servers mit Shell-Zugriff ist, sondern nur einen günstigen Shared Hosting Account besitzt, können diese Anforderungen schnell zum unüberwindbaren Hindernis werden – im Zweifel beim Hoster nachfragen.

Genügsamer geben sich das Zend Framework und die eZ Components: Eine übliche Auswahl aktivierter PHP Extensions – beispielsweise SimpleXML oder Kompressionsbibliotheken – genügt, damit alles rund läuft. Die Installation ist bei CakePHP, Zend Framework und den eZ Components denkbar einfach: herunterladen, auspacken – fertig. Sucht man sich aus der Dokumentation die benötigte Klasse, erreicht man so nach wenigen Minuten erste Erfolge – selbst für PHP-Einsteiger sind die Frameworks deshalb geeignet.