Geschenke, Stress, Familie, ein paar ruhige Tage, Weihnachtsmarkt mit Bratwurst, Waffeln u.ä. Daran erinnern sich vielleicht gerade einige zurück nachdem der Berufsalltag die meisten von uns eingeholt hat. Doch wie das nun mal bei dem Volk der IT so ist, gilt die obige Beschreibung für uns nur eingeschränkt oder mit Ergänzungen.
So auch bei mir, den in meiner Weihnachtszeit habe ich mich endlich mit dem Mitte letzten Jahres erschienen PHP Framework Zend 2 (Damit meine ich das RC) beschäftigt und das möchte ich natürlich keinem vorenthalten.
Deswegen möchte ich im meinen Gesamteindruck vom Zendframework 2 darstellen und was mir besonders aufgefallen ist bzw. besonders gut gefallen hat.
Das wohl auffallendste ist ganz klar die Modularisierung und die Event-driven Architecture des Frameworks. Sie ermöglicht es gegenüber dem Zendframework 1 Applikations unabhängige Module zu entwickeln die bei regelkonformer Programmierung recht einfach in andere Applikationen zu integrieren sind.
Die durch die Events erreichte klare Trennung erscheint einem zwar am Anfang wie schwarze Magie bietet dem Entwickler aber wenn der Requestzyklus einmal verstanden wurde unendliche Möglichkeiten um im richtigen Zeitpunkt dafür zu sorgen das eigener Programmcode ausgeführt wird.
In Verbindung mit der Zendskeleton Application die es frei auf Github gibt bekommt der Webentwickler auch gleich einen soliden Boilerplate Code zum entwicklen von Webapps. Diese enthält nämlich nicht nur die Standard Verzeichnisstruktur und das Zendframework 2 als Abhängigkeit sondern bietet mit dem PHP Composer auch eine einfache Möglichkeit Abhängikeiten zu verwalten.
Neben dem schon standardmäßig enthaltenen Code für Layout- und Fehlerseiten ist die Skeleton Application außerdem mit den Standard Twitter Bootstrap files und der komprimierten JQuery Bibliothek ausgestattet und bietet damit alles notwendige für eine zeitgemäße Webentwicklung.
Besonders beeindruckt haben mich aber die sinnvollen Vorbelegungen in der Konfiguration (Convention over Configuration) die dafür sorgen das die Konfigurationsdateien, welche aus einfachen PHP Dateien mit assoziativen Arrays bestehen, schlank und übersichtlich halten.
Dazu sei noch die Dependency Injection erwähnt, die sich komplett über die Konfigurationsdateien steuern lässt. Zwar verwendet das Zendframework 2 standardmäßig vorzugsweise abstrakte Factories und diese lassen sich auch über die Konfigurationsdateien verwalten jedoch hat die Zend\Di Komponente doch den unschlagbaren Charme das keine Extra PHP Klassen mehr angelegt werden müssen, was den Code schlank und übersichtlich hält. Ob nun Abstrakte Factories oder DI, wird beides Konsequent vom Anwendungsentwickler genutzt kann man eine sehr gut lose Koppelung im Code erreichen der das Austauschen von einzelnen PHP Klassen wie z.B. einem Controller in der MVC Entwicklung zum Kinderspiel macht.
Zum Schluss noch ein paar Worte zum Routing. Das Routing ist jetzt so gestaltet das nicht wie bisher Controller Actions nachdem anlegen über den Pfad sofort erreichbar sind, sondern das jede Route explizit eingetragen werden muss. Das mag einigen vielleicht wie Extra Arbeit vorkommen, macht aber im Zeitalter von SEO Sinn. So ist der Entwickler nämlich gleich gezwungen sich Gedanken über eine vernünftige Suchmaschinelesbare Url zu machen.
Mein Fazit ist, dass das Zendframework 2 ein unglaublich attraktives geworden ist, dass mit seiner MVC Komponente eine zeitgemäße, professionelle Webentwicklung ermöglicht und bin als Magento Entwickler vom PCSPEZIALIST Online Shop gespannt wie das Magento-Team in den nächsten Jahren das Zendframework 2 integrieren wird. Ich bin bereit freue mich darauf und kann nur jedem PHP Entwickler empfehlen sich ebenfalls mit dem neuen Zendframework auseinander zu setzen.
Schreiben Sie einen Kommentar