Roadmap und Updates rund um die neue Zend-Framework-Version

Der Weg zu Zend Framework 3
Kommentare

Es ist geschafft – nach insgesamt 17 Monaten Entwicklungszeit ist Zend Framework 3 final erschienen! Damit markiert die neue Version das erste Major-Release des Frameworks in den letzten vier Jahren und bringt dabei zahlreiche Verbesserungen und Neuerungen sowie neue Features wie das PSR-7-Middleware-Microframework Expressive mit sich.

Im Zend-Framework-Blog hat Matthew Weier O’Phinney die aktuellen Arbeiten an der neuen Framework-Version zusammengefasst. Seit vergangenem Herbst hält er mit regelmäßigen Update-Posts die Community zu den Neuerungen und ausstehenden Aufgaben für die Veröffentlichung von Zend Framework 3 auf dem Laufenden.

Der Weg zu Zend Framework 3

Bis die Arbeit an Zend Framework 3 abgeschlossen ist, sind noch einige Arbeiten erforderlich. Vor allem an zend-mvc und der Skeleton-Applikation wird weiter gearbeitet, bevor Zend Framework 3 final veröffentlicht werden kann.

zend-mvc ist in Version 3 fertiggestellt

Nachdem im Januar mit Expressive 1.0 die erste Stable-Version des PSR7-Middleware-Frameworks erschienen ist, konnte sich seither insbesondere auf die Arbeit am MVC-Refactor konzentriert werden. So soll in ZF3 vor allem die von zend-mvc geforderte Anzahl der Dependencies reduziert werden, wofür unter anderem der Komponenten-Installer überarbeitet wird. Ebenso wurden mit zend-router, zend-mvc-console und zend-mvc-plugin-prg drei neue Komponenten implementiert.

Go for PHP Developers

mit Terrence Ryan (google)

Everything you need to know about PHP 7.2

mit Sebastian Bergmann (thePHP.cc)

Standen beim letzten Update noch einige Aufgaben bei der Arbeit am MVC-Refactor aus, wurden diese nun fertiggestellt. Dazu gehört zum Beispiel:

  • ein Komponenten-Installer-Composer-Plugin
  • Konsolen-Funktionalität als separate Komponente
  • Trennung von Controller-Plugins mit zusätzlichen Dependencies in eigene Packages
  • Trennung der i18n-Integration in eine separate Komponente
  • Entfernen aller Factories und Integrationen in Komponenten, die außerhalb der Core-Dependencies liegen

Dafür mussten verschiedene Factories, Service-Integrationen und Event-Listener verschoben werden; jede der betroffenen Komponenten erhielt ein entsprechendes Minor-Update und die Dependencies wurden aus zend-mvc entfernt. Mit Erfolg, erklärt Weier O’Phinney:

Once we were done, the lines of code had dropped to approximately 25% of the size in the version 2 release.

Arbeit an Skeleton-Applikation, JSON-Refactor und der Kompatibilität

Nach Abschluss der Arbeiten an zend-mvc stand auch die Überarbeitung der Skeleton-Applikation sowie das Refactoring der zend-json-Komponente auf dem Programm. So haben sich mehrere User beschwert, dass diese zu viel umfasse und nicht für jeden die passende Funktionalität mitbringe. Darum wurde die Komponente nun in drei Teile aufgeteilt: zend-json, zend-json-server und zend-xml2json.

Genauso wurde an der Kompatibilität gearbeitet und verschiedene Komponenten mit Maintenance-Releases versorgt, die den Erhalt der Kompatibilität sicherstellen solle. Außerdem hat sich das Zend-Framework-Entwicklerteam an die Überarbeitung der Dokumentation gemacht; hier stehen nun Dokumentationen für eine ganze Reihe zusätzlicher Komponenten zur Verfügung.

Darüber hinaus gab es auch insgesamt über 60 Komponenten-Releases seit dem letzten Update. Dazu gehören etwa die Veröffentlichung von zend-json 3.0, zend-math 2.7.0 oder zend-cache 2.7.0. Ebenso ist Zend Framework 1.12.18 erschienen.

Mehr Informationen zu den aktuellen Arbeiten an Zend Framework 3 fasst der entsprechende Blogpost zusammen.

Umbenennung des ZF-Repositories

Viele User von Zend Framework dürften sich noch daran erinnern, dass der Umstieg von Zend Framework 1 zu Version 2 durch einen kompletten Rewrite und Brüche in der Architektur gekennzeichnet war. Das soll beim Wechsel auf die kommende neue Major-Version, Zend Framework 3, nicht passieren, stattdessen konzentriert sich die ZF3-Initiative darauf, für soviel Abwärtskompatibilität wie möglich zu sorgen.

Damit die Entwicklung nicht in ein neues Repository übertragen werden muss, wurde der ZF-Code in mehrere Komponenten-Repositories aufgeteilt und das Haupt-Zend-Framework-Repository in ein „Meta“-Repository umgewandelt, das nur Dependency-Informationen enthält. Im Klartext heißt das laut Matthew Weier O’Phinney:

changes to the main repository are happening incrementally, and version 3 will just be a new major version update withhin the existing repository.

Das Problem an der Sache: aktuell heißt das Repository noch zf2. Das Entwickler-Team hat sich darum für eine Umbenennung entschieden; künftig lautet der Repository-Name nur noch zendframework. Die Änderung soll am 3. Mai 2016 durchgeführt werden; in einem Blogpost betont Weier O’Phinney, dass GitHub langlebige Redirects für alle Links zum Repository zur Verfügung stellen wird – also auch für Referenzen in der Form zendframework/zf2#...

zend-mvc-3.0-Stabilität und Refactoring der Skeleton-Applikation

Seit dem letzten Update zum aktuellen Stand der Arbeit an Zend Framework 3 hat sich einiges getan. Insgesamt, so sagt Matthew Weier O’Phinney in einem Blogpost, wurden über 30 weitere Komponenten veröffentlicht beziehungsweise verbessert und die Migration der Dokumentation zu Komponenten abgeschlossen. Darüber hinaus wurde nach ausführlichem Testen der Komponente zend-mvc 3.0 nun als Stable-Version getaggt, und auch das Refactoring der Skeleton-Applikation konnte abgeschlossen werden.

Damit stehen der Veröffentlichung von Zend Framework 3 nur noch wenige Aufgaben im Wege – etwa das Release einer neuen Minor-Version aller Komponenten um die Mindestanforderung an PHP auf PHP 5.6 anzuheben. Außerdem müssen die Tutorials zu einem neuem Repository migriert und zu Markdown und MkDocs konvertiert werden.

Mehr Informationen dazu bietet der oben genannte Blogpost; dort sind auch noch einmal alle ausstehenden Meilensteine aufgeführt.

Zend Framework 3 ist final!

17 Monate Entwicklungszeit – so lange wurde an der neuen Major-Version von Zend Framework gearbeitet. Nun steht Zend Framework 3 final zur Verfügung und markiert damit das erste Major-Release des beliebten Frameworks in den letzten vier Jahren. Und das kann sich sehen lassen: Neben einer deutlich verbesserten Performance und Support für PHP 7 bringt die neue Version auch eine Reihe weiterer Neuerungen mit sich.

So wurde Zend Framework 3 mit einer „use-at-will architectural structure“ entwickelt, die es Entwicklern erlaubt, die zur Verfügung stehenden Komponenten in Zend-Framework-Applikationen zu nutzen. Damit werden nicht nur Dependencies reduziert, sondern auch bessere Integrationsmöglichkeiten innerhalb des PHP-Ökosystems geschaffen. Oder, wie es Cal Evans im Zend-Entwicklerblog beschreibt:

Zend Framework 3 is a new beginning for the framework, returning to its original mission: a strong component library, with opt-in MVC features.

Usern, die bereits mit Zend Framework 2 arbeiten, soll der Umstieg auf die neue Major-Version dabei möglichst leicht gemacht werden. So bringt jede Komponenten die dazugehörige Dokumentation mit; zudem wurde Wert auf eine umfassende Abwärtskompatibilität zu Zend Framework 2 gelegt. Der umfangreiche Migration Guide bietet darüber hinaus hilfreiche Tipps für den Wechsel zu Zend Framework 3.

Im Vordergrund der neuen Framework-Version stand vor allem die Erneuerung der Skeleton-Applikation sowie die Arbeit an zend-mvc. Doch auch die Implementierung neuer Features wie Diactoros (Implementierung von PSR-7 in das PHP-Ökosystem), Stratigility (PSR-7-Middleware-Foundation) und Expressive (PSR-7-Middleware-Microframework) stand bei der Entwicklung von Zend Framework 3 im Fokus. Insbesondere Expressive spielt dabei eine wichtige Rolle für die Zukunft des Frameworks, erklärt das Entwickler-Team in einem Blogpost:

we feel PSR-7 middleware represents the future of PHP application development.

So ist es auch kein Wunder, dass die Entwicklung an Zend Framework 1 eingestellt wird: Matthew Weier O’Phinney gab in einem Blogpost bekannt, dass ZF1 am 28. September 2016 sein End-of-Life erreichen wird.

Alle Informationen zur neuen Zend-Framework-Version bieten die oben genannten Blogposts; alle Änderungen sind im Changelog auf GitHub zusammengefasst. Dort steht Zend Framework 3 auch zum Download zur Verfügung.

Übrigens haben wir auch einen Kommentar von unserem Zend-Framework-Experten Ralf Eggert für euch, in dem er die neue Major-Version von Zend Framework genauer unter die Lupe nimmt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -