Dein erstes CRUD-API
Baue deine erste REST-API mit Create-, Read-, Update- und Delete-Operationen. Lerne die Grundlagen der GEMVC-4-Schichten-Architektur Schritt für Schritt.
What You'll Learn
API-Service-Schicht
URL-Endpunkte anlegen und Anfragen validieren
Controller-Schicht
Geschäftslogik orchestrieren
Model- & Table-Schichten
Datenlogik und Datenbankoperationen
Die 4-Schichten-Architektur verstehen
GEMVC nutzt ein klares 4-Schichten-Architekturmuster. Jede Schicht hat eine klare Aufgabe.
Jede Anfrage wird nach dem Eintreffen beim Webserver vom Bootstrap verarbeitet. Er führt folgende Schritte aus:
- 1. Alle Header bereinigen
- 2. Alle Anfragedaten bereinigen
- 3. Dateien, Cookies und Auth-Header extrahieren
- 4. Einheitliches Request-Objekt erzeugen
- 5. Anfrage an die API-Service-Schicht weiterleiten
- 6. Request-Objekt in die API-Service-Schicht injizieren
und der Ablauf geht von oben nach unten:
Folge den Anleitungen unten, um jede Schicht zu erstellen und eine vollständige CRUD-API zu bauen.
CLI-Befehle
Vollständiges CRUD für einen Service erstellen
Dieser Befehl erstellt alle 4 Schichten der CRUD-API: Api, Controller, Model und Table aus dem angegebenen ServiceName.
php vendor/bin/gemvc create:crud ServiceName
Beispiel: php vendor/bin/gemvc create:crud Company
Dieser Befehl erstellt bei unserem Beispiel „Company“ folgende Dateien:
app/api/Company.phpapp/controller/CompanyController.phpapp/model/CompanyModel.phpapp/table/CompanyTable.php
Table-Schicht-Klasse in die Datenbank migrieren
Dieser Befehl migriert die Table-Schicht-Klasse in die Datenbank.
php vendor/bin/gemvc db:migrate TableClassName
Beispiel: php vendor/bin/gemvc db:migrate CompanyTable
Erstellte Tabelle in der Datenbank prüfen
Das Schema der erstellten Tabelle kannst du mit folgendem Befehl prüfen:
Hinweis: tableName ist der Zeichenkettenname, der in der Methode getTable() der Table-Schicht-Klasse definiert ist.
php vendor/bin/gemvc db:describe tableName
Beispiel: php vendor/bin/gemvc db:describe companies
Beispiel: Ablauf einer Anfrage
So fließt eine Anfrage durch alle 4 Schichten:
Tip: Rufe localhost/api/index/document auf, um die automatisch erzeugte API-Dokumentation zu sehen. Klicke auf „Export to Postman“, um die Postman-Collection zum Testen deiner API zu erhalten.
🚀 Bereit für deine erste API?
Starte mit der API-Service-Schicht und arbeite dich über Controller, Model und Table vor. Folge jeder Anleitung, um eine vollständige CRUD-API zu bauen!