© Irina MANSIEUX, Fotolia.com
PHP-Frameworks im Überblick
Viel Holz für den Rahmen
von Peter Kreußel
Erschienen im Linux-Magazin
2009/11
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.
Große Resonanz
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).
|
|
|
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; über die Jahre hin abnehmende Entwicklungsaktivität
|
etablierte Code-Basis; zahlreiche Code-Kommentare; über die Jahre hin abnehmende Entwicklungsaktivität
|
sehr großes, aktives Entwickler-Team
|
etablierte Code-Basis; zahlreiche Code-Kommentare; über die Jahre hin abnehmende Entwicklungsaktivität
|
sehr großes, aktives Entwickler-Team; über die Jahre
wachsende Entwicklungsaktivität; zahlreiche Kommentare im Code; etablierte Code-Basis
|
kurze History des Code-Repositories; wenig Kommentare im Code; kleines Entwickler-Team
|
sehr großes, aktives Entwickler-Team; zahlreiche Kommentare im Code
|
Vorauswahl
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.
|
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.
|
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|