© saicle/Shutterstock.com
PHP Magazin
Eine Einführung in Apigility

Nur noch kurz die Welt retten … ein API bauen

Auf der ZendCon 2013 wurde erstmals das auf dem Zend Framework 2 basierende Projekt Apigility vorgestellt. Damit können auf einfache Weise APIs erstellt und betrieben werden, um z. B. in mobilen Anwendungen direkt vom Frontend angesprochen zu werden. Anfang Mai 2014 ist nun das erste stabile Release erschienen. Es ist also an der Zeit, sich intensiver mit Apigility auseinanderzusetzen.

Ralf Eggert


Damit Sie die Beispiele selbst nachvollziehen können, steht eine Beispielanwendung auf GitHub für Sie bereit [1]. Sie können das Projekt wie folgt klonen (bitte ggf. die Verzeichnisse anpassen) und installieren:

cd /home/devhostgit clone https://github.com/RalfEggert/phpmagazin.apigility cd phpmagazin.apigility git checkout step1php composer.phar selfupdatephp composer.phar install

Um die Installation abzuschließen, müssen Sie noch die Schreibrechte für einige Verzeichnisse anpassen, damit Apigility Änderungen vornehmen kann:

> sudo chmod 777 -R config/ > sudo chmod 777 -R data/ > sudo chmod 777 -R module/

Zum Schluss muss Apigility mit php public/index.php development enable in den Entwicklungsmodus gebracht werden. Danach richten Sie noch einen Virtual Host für die Adresse phpmagazin.apigility ein. Wenn Sie nun http://phpmagazin.apigility/ in Ihrem Browser aufrufen, sollte die Seite ungefähr wie in Abbildung 1 dargestellt aussehen. Zu guter Letzt müssen Sie noch eine MySQL-Datenbank anlegen und dort einen Dump aus der Datei /data/sql/mysql.dump.sql einspielen. Alternativ können Sie auch jede andere Datenbank verwenden, die vom Zend Framework 2 und damit von Apigility unterstützt wird [2].

Abb. 1: Willkommen auf phpmagazin.apigility

Als Beispiel wollen wir ein kleines API für ein Tippspiel zur Fußballweltmeisterschaft 2014 umsetzen. Wenn Sie den Datenbank-Dump eingespielt haben, können Sie die Struktur der Anwendung genauer betrachten. Es gibt insgesamt drei Tabellen, wie Sie Abbildung 2 entnehmen können. Alle Listings zu diesem Artikel, die nicht im Magazin abgedruckt sind, finden Sie sowohl auf GitHub [3] als auch im Repository im Verzeichnis /listings/. Nun können wir loslegen.

Abb. 2: Die Tabellen für unser Projekt

Was ist Apigility überhaupt?Mit Apigility [4] können Sie qualitativ hochwertige APIs erstellen und betreiben. Beim Einsatz eines API für die Datenhaltung können Sie diese sehr einfach von der Präsentationslogik trennen. Somit können Sie mobile Websites und Applikationen im Frontend entwickeln und die Daten mithilfe von Apigility per REST- oder RPC-Web-Service anbinden. Die Rückgabe der angeforderten Daten erfolgt im JSON-Format, das clientseitig von JavaScript verarbeitet werden kann. Apigility setzt auf dem Zend Framework 2 auf und bietet einige sehr interessante Features:RESTful Web ServicesRPC Web ServicesDatenformat JSON bzw. JSON HALVersionierungCodebasierte und datenbankbasierte ServicesProblemdetails für HTTP-APIDatennormalisierung und -...

PHP Magazin
Eine Einführung in Apigility

Nur noch kurz die Welt retten … ein API bauen

Auf der ZendCon 2013 wurde erstmals das auf dem Zend Framework 2 basierende Projekt Apigility vorgestellt. Damit können auf einfache Weise APIs erstellt und betrieben werden, um z. B. in mobilen Anwendungen direkt vom Frontend angesprochen zu werden. Anfang Mai 2014 ist nun das erste stabile Release erschienen. Es ist also an der Zeit, sich intensiver mit Apigility auseinanderzusetzen.

Ralf Eggert


Damit Sie die Beispiele selbst nachvollziehen können, steht eine Beispielanwendung auf GitHub für Sie bereit [1]. Sie können das Projekt wie folgt klonen (bitte ggf. die Verzeichnisse anpassen) und installieren:

cd /home/devhostgit clone https://github.com/RalfEggert/phpmagazin.apigility cd phpmagazin.apigility git checkout step1php composer.phar selfupdatephp composer.phar install

Um die Installation abzuschließen, müssen Sie noch die Schreibrechte für einige Verzeichnisse anpassen, damit Apigility Änderungen vornehmen kann:

> sudo chmod 777 -R config/ > sudo chmod 777 -R data/ > sudo chmod 777 -R module/

Zum Schluss muss Apigility mit php public/index.php development enable in den Entwicklungsmodus gebracht werden. Danach richten Sie noch einen Virtual Host für die Adresse phpmagazin.apigility ein. Wenn Sie nun http://phpmagazin.apigility/ in Ihrem Browser aufrufen, sollte die Seite ungefähr wie in Abbildung 1 dargestellt aussehen. Zu guter Letzt müssen Sie noch eine MySQL-Datenbank anlegen und dort einen Dump aus der Datei /data/sql/mysql.dump.sql einspielen. Alternativ können Sie auch jede andere Datenbank verwenden, die vom Zend Framework 2 und damit von Apigility unterstützt wird [2].

Abb. 1: Willkommen auf phpmagazin.apigility

Als Beispiel wollen wir ein kleines API für ein Tippspiel zur Fußballweltmeisterschaft 2014 umsetzen. Wenn Sie den Datenbank-Dump eingespielt haben, können Sie die Struktur der Anwendung genauer betrachten. Es gibt insgesamt drei Tabellen, wie Sie Abbildung 2 entnehmen können. Alle Listings zu diesem Artikel, die nicht im Magazin abgedruckt sind, finden Sie sowohl auf GitHub [3] als auch im Repository im Verzeichnis /listings/. Nun können wir loslegen.

Abb. 2: Die Tabellen für unser Projekt

Was ist Apigility überhaupt?Mit Apigility [4] können Sie qualitativ hochwertige APIs erstellen und betreiben. Beim Einsatz eines API für die Datenhaltung können Sie diese sehr einfach von der Präsentationslogik trennen. Somit können Sie mobile Websites und Applikationen im Frontend entwickeln und die Daten mithilfe von Apigility per REST- oder RPC-Web-Service anbinden. Die Rückgabe der angeforderten Daten erfolgt im JSON-Format, das clientseitig von JavaScript verarbeitet werden kann. Apigility setzt auf dem Zend Framework 2 auf und bietet einige sehr interessante Features:RESTful Web ServicesRPC Web ServicesDatenformat JSON bzw. JSON HALVersionierungCodebasierte und datenbankbasierte ServicesProblemdetails für HTTP-APIDatennormalisierung und -...

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