© Liashko/Shutterstock.com
Entwickler Magazin
APIs mit Zend Expressive erstellen

Alles an Bord

Das Microframework Zend Expressive setzt auf standardisierte Komponenten aus dem Zend Framework auf, einem der am häufigsten eingesetzten PHP-Frameworks der letzten Dekade. In diesem Artikel erfahren Sie, wie Sie mit Zend Expressive einen RESTful Web Service (oder kurz ein REST-API) aufbauen können.

Ralf Eggert


In der PHP-Welt gab es in den letzten zwanzig Jahren viele Frameworks, die kamen und wieder gingen. Das Zend Framework [1] erschien bereits vor zehn Jahren im Juni 2007 als 1.0-Release und hat sich seitdem stetig weiterentwickelt. Auch wenn der Name anderes impliziert, war das Zend Framework schon immer nicht nur ein klassisches Full-Stack-Framework für PHP, sondern vor allem auch eine Komponentensammlung. So bietet es alle Werkzeuge, die ein PHP-Entwickler für klassische Webanwendungen benötigt:

einen Datenbankabstraktionslayer mit Zend\Dbeinen Dependency-Injection-Container mit Zend\ServiceManagereine Formularkomponente mit Zend\Formeine Authentifizierungskomponente mit Zend\Authenticationeinen View-Layer mit Zend\Vieweinen MVC-Layer mit Zend\Mvcund viele weitere Komponenten für Caching, Eingabevalidierung, Benutzerautorisierung, Navigation, Paginierung, uvm.

Seit dem Release 3.0, das im Juni 2016 erschienen ist, bietet das Zend Framework neben dem klassischen MVC-Layer auch die leichtgewichtige Alternative Zend Expressive, die auf einige standardisierte Komponenten setzt und die gesamte Anwendung auf Middlewarebasis aufbaut.

RESTful Web Services mit dem Zend Framework

Das Zend Framework bot schon seit dem 1.0-Release einige unterstützende Komponenten für den Aufbau von Web Services. So konnten Entwickler mit Zend_Rest sowohl REST-Server betreiben als auch REST-Services abrufen. Zudem gab es auch Unterstützung für SOAP mit Zend_Soap und XML-RPC mit Zend_XmlRpc.

Mit dem 2.0-Release vom Zend Framework, das im September 2012 veröffentlicht wurde, ist die Unterstützung für REST-APIs noch einmal verbessert worden. Nun wurde ein spezieller RESTful-Controller bereitgestellt, mit dem der Betrieb eines RESTful Web Service noch einfacher implementiert werden konnte [2]. Dieser Controller hat automatisch die HTTP-Methode ausgewertet und die passenden Aktionsmethoden aufgerufen. Ein Nachteil hierbei ist, dass dies nur mit dem klassischen MVC-Layer Zend\Mvc funktioniert, der durch den Einsatz im Full-Stack-Framework einen gewissen Overhead mit sich bringt.

Ein weiteres Projekt aus der Zend-Framework-Welt ist Apigility [3]. Dabei handelt es sich um eine Sammlung weiterer Module für den Aufbau von REST und RPC Web Services. Einige Features von Apigility sind die Unterstützung von HAL JSON, Problem-API, Versionierung, Authentifizierung per HTTP Basic/Digest und OAuth2 sowie eine automatische Dokumentation des API. Apigility setzt in seiner 1.0-Version auf dem MVC-Layer vom...

Entwickler Magazin
APIs mit Zend Expressive erstellen

Alles an Bord

Das Microframework Zend Expressive setzt auf standardisierte Komponenten aus dem Zend Framework auf, einem der am häufigsten eingesetzten PHP-Frameworks der letzten Dekade. In diesem Artikel erfahren Sie, wie Sie mit Zend Expressive einen RESTful Web Service (oder kurz ein REST-API) aufbauen können.

Ralf Eggert


In der PHP-Welt gab es in den letzten zwanzig Jahren viele Frameworks, die kamen und wieder gingen. Das Zend Framework [1] erschien bereits vor zehn Jahren im Juni 2007 als 1.0-Release und hat sich seitdem stetig weiterentwickelt. Auch wenn der Name anderes impliziert, war das Zend Framework schon immer nicht nur ein klassisches Full-Stack-Framework für PHP, sondern vor allem auch eine Komponentensammlung. So bietet es alle Werkzeuge, die ein PHP-Entwickler für klassische Webanwendungen benötigt:

einen Datenbankabstraktionslayer mit Zend\Dbeinen Dependency-Injection-Container mit Zend\ServiceManagereine Formularkomponente mit Zend\Formeine Authentifizierungskomponente mit Zend\Authenticationeinen View-Layer mit Zend\Vieweinen MVC-Layer mit Zend\Mvcund viele weitere Komponenten für Caching, Eingabevalidierung, Benutzerautorisierung, Navigation, Paginierung, uvm.

Seit dem Release 3.0, das im Juni 2016 erschienen ist, bietet das Zend Framework neben dem klassischen MVC-Layer auch die leichtgewichtige Alternative Zend Expressive, die auf einige standardisierte Komponenten setzt und die gesamte Anwendung auf Middlewarebasis aufbaut.

RESTful Web Services mit dem Zend Framework

Das Zend Framework bot schon seit dem 1.0-Release einige unterstützende Komponenten für den Aufbau von Web Services. So konnten Entwickler mit Zend_Rest sowohl REST-Server betreiben als auch REST-Services abrufen. Zudem gab es auch Unterstützung für SOAP mit Zend_Soap und XML-RPC mit Zend_XmlRpc.

Mit dem 2.0-Release vom Zend Framework, das im September 2012 veröffentlicht wurde, ist die Unterstützung für REST-APIs noch einmal verbessert worden. Nun wurde ein spezieller RESTful-Controller bereitgestellt, mit dem der Betrieb eines RESTful Web Service noch einfacher implementiert werden konnte [2]. Dieser Controller hat automatisch die HTTP-Methode ausgewertet und die passenden Aktionsmethoden aufgerufen. Ein Nachteil hierbei ist, dass dies nur mit dem klassischen MVC-Layer Zend\Mvc funktioniert, der durch den Einsatz im Full-Stack-Framework einen gewissen Overhead mit sich bringt.

Ein weiteres Projekt aus der Zend-Framework-Welt ist Apigility [3]. Dabei handelt es sich um eine Sammlung weiterer Module für den Aufbau von REST und RPC Web Services. Einige Features von Apigility sind die Unterstützung von HAL JSON, Problem-API, Versionierung, Authentifizierung per HTTP Basic/Digest und OAuth2 sowie eine automatische Dokumentation des API. Apigility setzt in seiner 1.0-Version auf dem MVC-Layer vom...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang