Slim ist ein Micro-Framework für PHP, das Josh Lockhart entwickelt hat. Es bringt nur das Nötigste mit, um Anfragen entgegenzunehmen und zu beantworten, und überlässt alles Weitere dir.
- Slim
Ein kleines PHP-Framework, das Adressen auf Funktionen abbildet und Anfragen durch eine Kette von Middleware schickt.
Beispiel: „Die Schnittstelle für die App ist mit Slim gebaut, mehr als zehn Routen braucht sie nicht.“Auch: Slim Framework.
Abgrenzung zu Laravel: Laravel bringt Datenbank, Templates und Warteschlangen mit. Slim kennt nur Routing und Middleware, alles Weitere bindest du als eigenes Paket ein.
Was Slim mitbringt
Ein Routing, das eine Adresse und eine HTTP-Methode einer Funktion zuordnet, und eine Middleware-Kette, durch die jede Anfrage läuft, etwa für Anmeldung, Protokollierung oder Fehlerbehandlung. Anfragen und Antworten folgen den PHP-Standards PSR-7 und PSR-15.
$app->get('/termine/{id}', function ($request, $response, $args) {
$response->getBody()->write(json_encode(termin($args['id'])));
return $response->withHeader('Content-Type', 'application/json');
});Weil Slim sich an diese Standards hält, lassen sich Pakete aus dem übrigen PHP-Umfeld frei kombinieren.
Wofür Slim gedacht ist
Für schlanke Schnittstellen, kleine Dienste und Anwendungen, bei denen ein großes Framework mehr Ballast als Hilfe wäre. Mit Slim bleibt der Code überschaubar, und das Projekt startet schnell.
Wächst die Anwendung, wächst auch die Liste der Pakete, die du selbst zusammenstellen und pflegen musst. Ab einer gewissen Größe ist ein vollständiges Framework meist günstiger.
Für den Datenbankzugriff greifen Slim-Projekte oft zu Paketen anderer Frameworks, etwa Eloquent aus Laravel oder Doctrine aus Symfony.
Slim im Vergleich zu anderen Micro-Frameworks
Slim ist für PHP, was Flask für Python und Express.js für JavaScript ist. Alle drei setzen auf ein kleines Fundament, das sich nach Bedarf erweitern lässt.