PHP-Frameworks im Überblick
Viel Holz für den Rahmen
Wer sich mit PHP eine Website zimmern möchte, freut sich über die große Zahl an vorfertigten Rahmenwerken. Das Linux-Magazin prüft Funktionsumfang und Komfort der besten Frameworks.
© Irina MANSIEUX, Fotolia.com
Wer sich mit PHP eine Website zimmern möchte, freut sich über die große Zahl an vorfertigten Rahmenwerken. Das Linux-Magazin prüft Funktionsumfang und Komfort der besten Frameworks.
Wie erfahrene Zimmerleute setzen auch PHP-Entwickler auf fertige Formteile, um das Gerüst eines neuen Projekts aufzustellen. Frameworks sparen Zeit und duplizierten Code. Doch vor dem virtuellen Hammerschwingen steht das Suchen der geeignetsten Umgebung.
Bis etwa 2005 gab es kaum Allzweck-Frameworks für die beliebte Websprache jenseits des Angebots von Zend, der PHP-Firma der ersten Stunde. Vorbilder aus der Java-Welt stießen in der Community auf wenig Gegenliebe. Als jedoch 2004 Rails die handliche Skriptsprache Ruby um ein Webframework erweiterte, war die Resonanz in der PHP-Welt groß. Auch viele PHP-Entwickler erlagen dem Charme des Rapid Application Development (RAD).
Die PHP-Szene ist trotz der zentralen Stellung der Firma Zend nicht hierarchisch organisiert und zudem riesengroß. Daher fühlten sich bald viele dazu berufen, Rails-ähnliche Frameworks für PHP zu entwickeln. An die hundert Projekte finden sich im Internet, die die wenig aussagekräftige Bezeichnung Framework tragen. Wer auf der Suche nach einem für sein Projekt und seinen Programmierstil geeigneten Angebot nichts verpassen möchte, sollte mindestens Cake PHP, Codeigniter, Kohana, Prado, Symfony, Yii und das Zend Framework in Betracht ziehen (siehe Tabelle 1).
|
Tabelle 1: |
|||||||
|---|---|---|---|---|---|---|---|
| Kategorie | CakePHP [1] | Codeigniter [2] | Kohana [3] | Prado [4] | Symfony [5] | Yii [6] | Zend Framework [7] |
| Version |
1.2.4.8284 |
1.7.1 |
2.3.4 |
3.1.6 |
1.2.8 |
1.0.8 |
1.9.1 |
| Lizenz |
MIT |
BSD-artig |
BSD-artig |
BSD-artig |
MIT |
BSD-artig |
BSD-artig |
| Freshmeat-Popularity |
195.16 |
nicht gelistet |
49.05 |
194.98 |
165.29 |
234.14 |
97.72 |
| Ohlo-Users |
885 |
80 |
58 |
15 |
173 |
17 |
254 |
| Ohlo-User-Rating |
4,5/5 (269 Stimmen) |
4,5/5 (36 Stimmen) |
4,7/5 (29 Stimmen) |
4,1/5 (12 Stimmen) |
4,4/5 (75 Stimmen) |
4,9/5 (8 Stimmen) |
4.0/5 (122 Stimmen) |
| Codeumfang nach Ohloh.net (Mannjahre Entwicklungszeit) |
84 Mannjahre |
9 Mannjahre |
6 Mannjahre |
70 Mannjahre |
796 Mannjahre |
45 Mannjahre |
752 Mannjahre |
| Funktionsumfang |
* * * * |
* * |
* * * |
* * * * |
* * * * * |
* * * * |
* * * * * |
| Ohloh-Codeanalyse |
großes, aktives Entwickler-Team; etablierte Code-Basis; |
etablierte Code-Basis; zahlreiche Code-Kommentare; über |
sehr großes, aktives Entwickler-Team |
etablierte Code-Basis; zahlreiche Code-Kommentare; über |
sehr großes, aktives Entwickler-Team; über die Jahre |
kurze History des Code-Repositories; wenig Kommentare im Code; |
sehr großes, aktives Entwickler-Team; zahlreiche |
Auch diese sieben Frameworks lassen sich aus vielen Blickwinkeln evaluieren, der Artikel greift daher die archetypischen Vertreter heraus: Er schließt Cake PHP und Prado als Frameworks mit abnehmender Entwicklungsaktivität aus und wählt von den verbleibenden fünf die drei interessantesten: Yii gilt als Shootingstar, ist performant und bei seinen Anwendern beliebt. Symfony hat eine große Community und ein großes Entwicklerteam. Das Zend Framework ist im Unternehmensumfeld klar die Nummer 1 und hat, wie schon ein Blick in das Inhaltsverzeichnis der Dokumentation zeigt, mit Abstand den größten Funktionsumfang. Kerneigenschaften der restlichen Frameworks fasst der Kasten "Die Alternativen" zusammen. Auch darüber hinaus gibt es Dutzende weiterer Projekte, die aber oft nur funktionale Nischen füllen.
| Die Alternativen |
|---|
| Cake PHP war eines der ersten leistungsfähigen PHP-Frameworks, hat aber in den letzten zwei Jahren etwas an Zugkraft eingebüßt. Es unterstützt noch PHP 4, sein Quellcode muss daher ohne private Methoden und Attribute auskommen. Umfang und viele Konzepte ähneln dem Newcomer Yii, können sich aber mit dessen Performance nicht messen. Prado ist kein MVC-Framework, sondern setzt auf Event-gesteuerte Programmierung: Der Controller als Bindeglied zwischen Model und View entfällt, dafür registriert der Entwickler Eventhandler direkt im Page-Template, der Entsprechung zur View. Der Codeschnipsel »<com:TButton Text="Save" OnClick="saveButtonClicked" />« im Page-Template ruft automatisch die Callback-Funktion »saveButtonClicked()« auf [28]. Codeigniter ist Favorit des PHP-Schöpfers Rasmus Lerdorf: "Es ist schneller, leichtgewichtiger und fühlt sich am wenigsten wie ein Framework an", sagte er auf der Froscon 2008. Als dem einzigen vorgestellten Framework fehlt Codeigniter ein Object Relational Mapper (ORM). Kohana startete im Mai 2007 als Fork von Codeigniter, doch schon ein halbes Jahr später schrieben es seine Entwickler für die Version 2.0 von Grund auf neu. Von Codeigniter blieb die hohe Gewichtung der Geschwindigkeit, mit der es Seiten ausliefert. Mit Version 2.1 ist ein ORM hinzugekommen. Um übersichtlicher zu werden, unterstützen seine Macher seither HP 4 nicht mehr. Dazu entfernten sie älteren Code, der noch die bei PHP 4 erforderliche Klassensyntax ohne Konstruktoren und vollwertige Kapselung enthielt. |
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...