PHP Frameworks im Vergleich
Durch einen Nachricht auf der Website des PHP Magazins bin ich auf einen interessanten Blogbeitrag von David Otton gestoßen.
David und sein Team haben in der Vergangenheit mehrere PHP Frameworks genauer unter die Lupe genommen. Dabei haben sich sich unter anderem CodeIgniter, CakePHP, Symfony und das Zend Framework angeschaut. Sie sind dann am Ende zu dem Schluss gekommen, dass für ihre Zwecke das Zend Framework am geeignetsten ist. Einer der Hauptgründe ist die Lose Kopplung der verschiedenen Framework Komponenten. Bei manch anderem PHP Framework ist es gar nicht so leicht, wenn man nur bestimmte Teile verwenden möchte. Aber lest selbst:
http://www.otton.org/2008/08/05/frameworks-libraries-php-zend/
Dabei fällt mir ein, vor kurzem wurde auch über einen anderen Vergleich von PHP Frameworks berichtet. Leider gibt es diesen Vergleich nur auf französisch. Hat das Dokument eigentlich schon mal jemand ins Deutsche oder Englische übersetzt?
Hier noch ein paar Übersichten und Feature Vergleiche, die teilweise etwas älter sind:


Freitag, 22.08.2008, um 11:39
Mit agavi (http://www.agavi.org/) befindet sich ein weiteres agiles und leichtgewichtiges Framework im Rennen um die Gunst des Entwicklers. Mein absoluter Favorit!
Vorletzte Woche gab es einen hervorrangenden Vortrag zu agavi auf der PHPLondon (http://www.phplondon.org) von einem der Kern-Entwickler: http://de.sevenload.com/videos/MrwrTXxS-PHPLondon-Agavi-2008-08-07
Viele Grüße
Christian
Dienstag, 26.08.2008, um 10:55
Um die Liste der Tests zu komplettieren, hier noch der Link zu einem Vergleich von diversen Frameworks unter etwas anderen Gesichtspunkten. Das Ergebnis – vor allem beim Thema Performance – ist wirklich interessant!
http://adventure-php-framework.org/Seite/049-PHP-Frameworks-im-Test
Dienstag, 26.08.2008, um 19:11
[...] PHP Frameworks im Vergleich [...]
Dienstag, 26.08.2008, um 19:23
Hallo Christian A.,
da hast du dir mit deinem Vergleich ja sehr viel Mühe gemacht. Vielen Dank für den Link. Ich habe aber bei deinem Vergleich ehrlich gesagt hinsichtlich der Objektivität so meine Bauchschmerzen, schliesslich scheinst du an dem Adventure PHP Framework nicht unwesentlich beteiligt zu sein und da ist es (zumindest für mich) nicht überraschend, dass dein Framework bei deinem Vergleich weit vorne landet. Bitte nicht falsch verstehen, jeder soll mit dem Framework glücklich werden, dass ihm die Arbeit am besten erleichtert. Habe früher selber mein eigenes Framework entwickelt, bin aus dem Alter aber Gottseidank schon raus… ;-)
Hinsichtlich der Performance von PHP Frameworks hier noch ein weitere Vergleich, bei dem CakePHP deutlich hinter dem Zend Framework landet:
http://www.avnetlabs.com/php/php-framework-comparison-benchmarks
Danke und Gruss,
Ralf
Mittwoch, 10.09.2008, um 17:27
Hallo Ralf,
die Bewertung der Objektivität aus dieser Perspektive ist sicher nicht ganz einfach. Dieser Tatsache bin ich mir bewusst, jedoch ist der der Artikels nicht darauf ausgelegt, dass das aufgezeigte Ergebnis auch eintritt. Der von mir vorgenommene Vergleich ist auch etwas mehr auf die enterprise-Schiene ausgelegt, in der es um die Implementierung von komplexen und in unterschiedlichen Projekten und Umgebungen einsetzbaren Applikationen geht. Diese Bereiche sind sind bei den genannten Kontrahenden offensichtlich nicht im Fokus.
Was die Performance angeht, so habe ich in der Diskussion mit diversen Entwicklern mehr als einmal den Tenor vernommen, dass die Performance des ZF nicht befriedigend sei. Begründet ist das IMHO in der Architektur des Dispatching (Routing), der Verarbeitung der View-Komponenten und der Verwendung des PHP include_path, der – analysiert man die Filesystem-Operationen – deutliche Einbußen gegenüber anderen Konzepten für das dynamische Laden von Komponenten besitzt.
Viele Grüße,
Christian
Montag, 15.09.2008, um 08:13
Hallo Christian,
tut mir Leid, aber mit der Aussage, dass die “enterprise-Schiene [...] bei den genannten Kontrahenten offensichtlich nicht im Fokus” seien, bestärkst du meinen Eindruck der fehlenden Objektivität leider nur noch mehr. Dem Zend Framework zu unterstellen, nicht für Enterprise-Projekte geeignet zu sein, zeigt mir schon, wie wenig du dich tatsächlich damit beschäftigt hast.
Hinsichtlich der Performance bleibt zu sagen, dass das Release 1.7.0 ganz im Zeichen der Performanceoptimierung stehen wird. Da sehr viele kluge Köpfe an dem ZF entwickeln, bin ich mir sehr sicher, dass die Performance deutlich verbessert werden wird. Zudem ist die Ausführungsgeschwindigkeit gerade bei so manchem Enterprise-Projekt nicht das ausschlaggebende Argument. Wichtiger ist die Geschwindigkeit, mit der die Entwickler das Projekt umsetzen können, der Rest ist dann serverseitige Optimierung durch Opcode Caching und Serverclustering.
Gruss,
Ralf
Montag, 15.09.2008, um 12:40
Hi Ralf,
ich denke Christian spielt eher auf eine Aussage aus David’s Artikel an:
Gerade was Views angeht, ändert sich ja gerade im ZF einiges bzw. wurde schon geändert.
Ich hoffe, dass das ZF in Zukunft eine noch bessere Hilfe zur Implementierung von Modularer Software bietet.
Momentan behindert das View-Konzept den Einsatz flexibler Module. Ansonsten sind viele Komponenten enterprise-ready – andere aber auch nicht.
Montag, 15.09.2008, um 17:05
Hallo Ralf,
da musst du etwas falsch verstanden haben. Mein Satz dazu war
. Will heißen: der Vergleich legt genau darauf Wert!
Beispiel: Erstellung und Handling von Formularen. Nichts ist selbstverständlicher als ein Formular, nichts wird aber gleichzeitig unterschiedlicher behandelt. In genau diesen Themen versteckt sich, wie lange ein Entwickler benötigt um eine Funktion / ein Modul zu entwickeln (Stichwort: time to market). Bietet ihm das eingesetzte Framework hier ein probates Mittel ist der Entwickler natürlich klar im Vorteil.
Diese Aussage halte ich für sehr gefährlich! Hardware wird Code-Optimierung nie ersetzen können und dürfen. Tendiert der Code schon grundsätzlich zu langsamen Ausführungszeiten und/oder hoher Systemlast, wird er das auch im vorkompilierten Zustand tun.
Aus meiner Erfahrung im Bereich Webhosting-Infrastrukturen und Clustern weiß ich von einigen Negativ-Beispielen zu berichten, die exakt aus diesem Trugschluss entstanden waren.
Diese Meinung muss ein Relikt aus der dotcom-Blase sein. Mit genau diesem Problem hat z.B. Intershop zu kämpfen. Sie verlieren auf Grund zu langsamer Software deutliche Marktanteile gegenüber schnelleren Lösungen.
Montag, 15.09.2008, um 17:23
Hallo Christian,
dennoch verwundert es mich, dass das ZF bei deinem Vergleich vergleichsweise schlecht weg kommt. Gerade das ZF wird oft als besonders geeignet für den Enterprise Bereich bezeichnet. Mit Zend_Form bietet das ZF auch ein sehe flexibles Tool zum Formularhandling. Meine grundsätzliche Skepsis an der Unabhängigkeit beim Erstellen des Vergleiches bleibt bestehen…
Gruss,
Ralf
Montag, 15.09.2008, um 17:26
Ok, jetzt sehe ich, wo der Hund begraben ist. Dein Test ist ja über ein Jahr alt! Das ist ja uralt! ;-) Habe eben erst bemerkt, dass du die Version 1.0.1 getestet hast. Dann warte noch mal, bis die 1.7.0 Version erschienen ist und wiederhole dann deinen Test… ;-) ok, kleiner Scherz…
Gruss,
Ralf
Dienstag, 16.09.2008, um 16:00
Hallo Ralf,
es war ohnehin geplant, den Artikel in diesem Jahr nochmal neu aufzulegen. Sollten wir dazu keine Zeit haben, werden wir auf jeden Fall Performance-Tests durchführen. Ich bin gespannt … ;-)
Viele Grüße,
Christian Achatz
Dienstag, 24.02.2009, um 19:07
Hallo zusammen,
noch ein Nachtrag zum Thema Performance:
- http://www.yiiframework.com/performance
- http://adventure-php-framework.org/Seite/103-Yii-vs-APF