Expressive 3 setzt PHP 7.1 oder höher voraus. Es bietet eine volle Unterstützung für den PSR-15-Standard (Middleware und Request Handlers). Die nun veröffentlichte finale Version 3 bietet eine Reihe von API-bezogenen Modulen für Expressive.
Pakete in Expressive 3 neu geordnet
Mit der finalen Version 3 wurde ein Großteil des Codes in dem zend-expressiven-Paket entfernt und in andere existierende Pakete verschoben, bei denen eine bessere semantische Zugehörigkeit besteht. So wurden z. B. die Routing-, Dispatch- und „Implicit Methods“-Middleware alle in das Paket zend-expressive-router verschoben, da sie jeweils mit den Router- und Routenergebnissen arbeiten. Request generation, application dispatch und response emission wurden in das neue Paket zend-httphandlerrunner verschoben.
Expressive 3 bietet eine breitere Auswahl von Befehlszeilenwerkzeugen und einige Werkzeugverbesserungen, um die Entwicklung von Anwendungen zu vereinfachen. So wurde mit factory:create
ein Befehl zum Erstellen von Factories für vorhandene Klassen hinzugefügt. Der neue Befehl verwendet dabei das Reflection-API von PHP, um festzustellen, welche Abhängigkeiten vorhanden sind, um eine Factory-Klasse zu generieren. Und noch etwas ist neu in Expressive 3: Der middleware:create
Befehl erzeugt nun eine Factory für die generierte Middleware. Das Erstellen von Request-Handlern, die Factory-Generierung und -Registrierung wurden vereinfacht.
Einige neue Pakete sind laut dem Zend Blog wohl noch in Arbeit. Man darf gespannt sein, was in nächster Zeit folgen wird.
Neue Komponenten an Bord
Das Zend Framework war vor allem immer auch eine Komponentensammlung. In der Version Zend Expressive 3 stehen viele Komponenten zur Verfügung:
- zend-expressive-session bietet eine session abstraction und middleware.
- zend-expressive-flash unterstützt Flash-Nachrichten mit zend-expressive-session.
- zend-expressive-csrf sorgt für einen Cross Site Request Forgery-Schutz mit zend-expressive-session und/oder zend-expressive-flash.
- zend-problem-details liefert Problemdetail-Antworten für APIs, sowohl im JSON- als auch im XML-Format.
- zend-expressive-hal bietet Tools zum Erstellen von HAL- Response-Payloads für APIs, sowohl im JSON- als auch im XML-Format
Für Expressive 3 gibt es auf der Zend Expressive Website ein Migrationsdokument, das neue Features, entfernte Features und eine Liste aller Änderungen enthält. Alle Neuerungen der finalen Expressive-3-Version sind im Zend Expressive Blog nachzulesen.