c't 2/2019
S. 154
Praxis
REST-API entwickeln
Aufmacherbild
Bild: Jan Bintakies

RESTregal

REST-API mit dem PHP-Framework Laravel entwickeln

Um ein API zu entwickeln, das Daten in einer Datenbank ablegt und Endpunkte zum Lesen, Anlegen, Bearbeiten und Löschen bereitstellt, muss man das Rad nicht neu erfinden. Mit dem PHP-Framework Laravel entsteht zügig ein funktionsfähiges API. Setzt man dabei auf Docker-Container, ist die Arbeitsumgebung schnell eingerichtet.

Wer ein API (Application Programming Interface) für eine Anwendung gestaltet, sollte sich bei der Benennung der Endpunkte an Standards halten, die sich in den letzten Jahren durchgesetzt haben. Entwickler haben sich vor allem an das Paradigma REST gewöhnt. Es stellt über HTTP-Adressen Daten zu einem Objekt bereit und erlaubt, Objekte zu bearbeiten. Das Paradigma sagt jedoch nicht, woher diese Informationen kommen und wie sie gespeichert werden: REST bestimmt zum Beispiel das Aussehen einer Laderampe, an der man Informationspäckchen abholen kann – welches Lagersystem dahintersteckt, entscheidet der Entwickler. Er könnte die Daten in Textdateien speichern, in einer SQL- oder NoSQL-Datenbank ablegen. An den REST-Endpunkten ändert das nichts. Wie genau eine REST-Laderampe funktioniert und auszusehen hat, haben wir bereits beschrieben [1]. In diesem Artikel soll es um die Umsetzung eines Datenlagers mit dem PHP-Framework Laravel gehen. Kenntnisse in der objektorientierten Programmierung sind hilfreich. Als Beispiel entsteht eine Raumverwaltung für Gebäude. Das gesamte Projekt und alle weiterführenden Links finden Sie über ct.de/y3hx. Fundament gießen

Die Entwicklung findet in einer Docker-Umgebung statt. In einem Container soll ein Webserver mit PHP laufen, ein anderer Container stellt die SQL-Datenbank bereit und ein weiterer dient als Arbeitsumgebung für den Entwickler. Einen ausführlichen Einstieg in Docker haben wir bereits veröffentlicht [2]. Für Software-Entwickler bietet Docker viele Vorteile: Auf der Entwicklungsmaschine können Sie die gleichen Bedingungen schaffen, die später auf dem Server herrschen – der Container enthält alle Abhängigkeiten. Für die Arbeit mit Laravel müssen Sie nicht bei null beginnen und eigene Dockerfiles schreiben. Stattdessen können Sie die vorbereitete Umgebung Laradock einsetzen (siehe ct.de/y3hx). Sie bringt viele Container mit, von denen Sie zu Beginn nicht alle benötigen. Die Voraussetzungen auf der Entwicklermaschine sind überschaubar: Sie müssen nur Docker, Docker-Compose [3], Git und eine Entwicklungsumgebung Ihrer Wahl installiert haben. Docker-Experte brauchen Sie für den Bau des APIs nicht zu sein – die wichtigsten Befehle lernt man während der Arbeit mit den Laradock-Containern.