Interview: Die Vor- und Nachteile des kompakten Frameworks

PHP Microframework Slim auch für größere Anwendungen geeignet

PHP Microframework Slim auch für größere Anwendungen geeignet

Interview: Die Vor- und Nachteile des kompakten Frameworks

PHP Microframework Slim auch für größere Anwendungen geeignet


Slim ist ein leistungsstarkes und leichtgewichtiges Microframework, das u.a. zur Erstellung von APIs, Websites und Webanwendungen verwendet werden kann. Wir haben den Slim-Experten Daniel Opitz zu den Vor- und Nachteilen des aufstrebenden Microframeworks befragt.

Im letzten Jahr wurde die Slim Hauptversion 4.0 mit zahlreichen Neuerungen veröffentlicht. Mittlerweile sind wir bei der Slim Version 4.4.0 angekommen. Wir sprachen mit Slim-Fachautor und Sofwareentwickler Daniel Opitz über das immer beliebter werdende Microframework.

Entwickler: Das Microframework Slim erfreut sich zunehmender Beliebtheit. Was sind die Vorteile, die für ein Microframework sprechen?

Daniel Opitz: Dank des geringeren Overheads überzeugen Microframeworks durch eine bessere Performance bei der Verarbeitung von HTTP-Anfragen. Zudem erleichtern standardisierte Interfaces und Factories die Integration von PSR-Implementierungen.

Entwickler: Für welche Einsatzgebiete eignet sich ein Microframework wie Slim? Ist es nur für kleine Anwendungen optimiert?

Daniel Opitz: Aufgrund der guten Antwortzeiten wird Slim besonders häufig für die Implementierung von RESTful APIs verwendet. Websites profitieren ebenfalls von besseren Ladezeiten für die Suchmaschinenoptimierung. Slim wird mittlerweile auch als Basis für Microservices, Backend-Anwendungen, Blogs, Online-Shops, Content-Management-System (CMS) und Customer Relationship Management (CRM) verwendet. Wie man sieht lassen sich mit Slim also auch größere Anwendungen realisieren.

Entwickler: Wie siehst Du die anderen Microframeworks im Vergleich zu Slim?

Daniel Opitz: Im Gegensatz zu Slim basiert Lumen, das Micro-Framework von Laravel, nicht auf den Standard Interfaces der PHP Framework Interop Group (PHP-FIG), sondern auf den Laravel spezifischen Interfaces für Routen-Closures, Controller-Methoden und Middleware. Daher ist es nicht so einfach oder nur mit viel zusätzlichem Aufwand möglich, standardisierte PSR-7 (HTTP) und PSR-15 (Middleware) Implementierungen in Lumen zu verwenden. Lumen bietet neben dem Routing noch Datenbank-Abstraktionen, Queueing und Caching an. In Slim muss bzw. darf man sich diese Komponenten bei Bedarf selbst aussuchen und integrieren. Für viele Lumen-Entwickler ist das größte Ärgernis die Inkompatibilität zwischen Lumen und Laravel. In letzter Zeit ist in der Laravel Community immer öfters zu hören, das Lumen-Projekt einzustampfen oder stattessen eine Art „Laravel Light“ ins Leben zu rufen. Ich befürchte daher, dass Lumen eine ähnliche Zukunft vor sich hat wie Silex, dem mittlerweile stillgelegten Micro-Framework von Symfony.

Entwickler: Welche neuen Features von Slim 4 sind Deine persönlichen Highlights?

Daniel Opitz: Zu meinen persönlichen Highlights gehört der PSR-15 Middleware Support und die Entkopplung der PSR-7 (HTTP) Implementierung. In Slim 4 wurde Pimple als Abhängigkeit entfernt und stattdessen die Nutzung einer beliebigen PSR-11 ContainerInterface-Implementierung ermöglicht. Ich begrüße auch, dass die Einstellungen (Settings) aus der App-Instanz entfernt wurden und somit die Verantwortlichkeiten klarer definiert sind.

Entwickler: Hältst Du das Slim Framework für die Erstellung von modernen APIs geeignet?

Daniel Opitz: Eine Stärke von Slim sind RESTful APIs, da Ressourcen als Routen in Slim ideal abgebildet werden können. Im Gegensatz zu den REST-Prinzipien werden Entitäten in GraphQL nicht durch URLs identifiziert. Stattdessen stellt ein GraphQL-Server normalerweise nur einen einzigen Endpoint (URL) zur Verfügung. Ob eine API eine oder mehrere URLs anbietet, ist für Slim glücklicherweise vollkommen unerheblich.

Entwickler: Welche weiteren Features beim Slim Framework wünschst Du Dir für die Zukunft?

Daniel Opitz: Alles in allem finde ich Slim 4 sehr gut gelungen und lässt keine großen Wünsche offen. Ich denke jedoch, dass die Dokumentation für Slim 4, insbesondere für Neueinsteiger, weiter ausgebaut werden sollte.

Entwickler: Vielen Dank für dieses Interview!

Einen ausführlichen Fachartikel von Daniel Opitz zu Slim 4 finden Sie im nächsten PHP Magazin 4.20

Entwickler: Vielen Dank für diese Interview!

Daniel Opitz ist Senior Softwareentwickler und entwickelt individuelle Web-Applikationen für den öffentlichen Personennahverkehr (ÖPNV) und E-Government in der Schweiz. Zudem beteiligt er sich an verschiedenen Open-Source-Projekten und schreibt in seinem Blog gerne über PHP und das Slim-Framework.

Thomas Petzinna, Redakteur Entwickler Magazin Spezial


Weitere Artikel zu diesem Thema