Überblick

PHP Frameworks

Zuletzt aktualisiert: 28.06.2024

Foto von Ben Griffiths auf Unsplash

Ein PHP Framework bietet Ihnen eine Library an Funktionalitäten und ein Rahmenwerk um eine individuelle Anwendung schneller, modern, flexibel und effektiv zu entwickeln. Der Einsatz eines PHP-Frameworks macht daher vor allem bei firmeninternen Anwendungen, Web-Portalen oder anderen Web-Anwendungen Sinn, wo ein CMS oder Shopsystem aufgrund von zu individuellen Anforderungen zu kompliziert wäre, zu erweitern.

Laravel

... mehr als nur als PHP Framework - Entdecke das Ecosystem

Laravel ist einer der beliebtesten Frameworks und wird seit 2011 entwickelt. Laravel ermöglicht einem Entwickler im Vergleich zu anderen PHP-Frameworks eine schnelle Einarbeitung und effektive Entwicklung von einfachen bis hin zu komplexen Web-Anwendungen.

Auch die Konfiguration eines neues Projektes mit Basisfunktionen wie z.B. einen Benutzerlogin ist im Vergleich zu anderen PHP-Frameworks sehr schnell mit wenigen Kommandos aufgesetzt. Dabei können auch eigene Laravel-Pakete wie z.B. Laravel Sanctum oder Breeze dabei helfen. Laravel bietet auch für API´s eigene Pakete wie z.B. Passport, für erweiterte Authentifizierungsmechanismen wie OAuth2 möglich sind.

Eine weitere Stärke ist, dass Laravel früh auf ein eigenes Ecosystem gesetzt hat. Dies fängt bei hilfreichen Paketen wie neben den bereits Gedanken Paketen zur Authentifizierung von Benutzern oder API´s auch weitere wie z.B. Laravel Horizon zur Realisierung von asynchronen Prozessen in PHP, Test Libraries und viel mehr. Des weiteren bietet Laravel mit Server Management Tools die Möglichkeit seine Server und die eigenen Projekte mit Laravel Forge oder Envoyer zu verwalten oder man geht direkt Serverless mit Vapor. Laravel bietet zudem eine eigene Lernplattform mit Laracasts auf der man alle Tools, hilfreiche PHP Tutorials und mehr findet.

Auch deshalb erfreut es sich in den letzten Jahren immer größerer Beliebtheit. Auch während der Entwicklung überzeugt Laravel durch einfache und doch flexible Konfigurationen z.B. bei der Validierung von Formularen, was vor allem in den letzten Jahren aus meiner Erfahrung eher aufwendig werden kann. Wer in vielen Projekten MySQL und oft mit ORM´s wie z.B. Propel oder Doctrine (von Symfony) arbeitet, der wird mit Laravel´s Eloquent auch eine würdige Alternative finden. Außerdem punktet Laravel mit einer Videoplattform zu Laravel und artverwandten Programmierthemen. Diese ist allerdings kostenpflichtig. Im Vergleich zu anderen Frameworks ist die Ladezeit des Frameworks/Cores (Basis-Module) der größte Nachteil. Allerdings sollte dies meiner Meinung nach kein Entscheidungskriterium bei der Framework-Auswahl sein, da Laravel und PHP Versionen ständig aktualisiert und vor allem im Thema „Performance“ ständig verbessert.

Offizielle Seite: Laracasts

Symfony

... nachwievor einer der beliebtesten Frameworks und eine gute Alternative zu Laravel

Auch Symfony gehört zu einer der führenden PHP Frameworks, welches seit 2005 von SensioLabs entwickelt wird. Symfony ist schon sehr lange einer der beliebtesten und meißt verwendeten PHP-Frameworks, früher war es die Alternative zum Zend Framework. Nachdem Zend aufgekauft wurde, spielt das Zend-Framework hingegen spielt heute keine größere Rolle mehr und wird seither von der Community unter dem Namen Laminas weiterentwickelt. Daher ist der ernstzunehmende Konkurrent zu Symfony heute Laravel. Symfony eignet sich genau wie Laravel vor allem für hoch skalierbare komplexe Enterprise Projekte. Symfony verfolgt genauso wie Laravel den Ansatz ein Ecosystem aufzubauen. Allerdings ist dieses weit überschaubarer als Laravel.

Man darf jedoch nicht verkennen, dass Laravel auch sehr viele PHP-Pakete von Symfony verwendet. Und es ist auch möglich Symfony Anwedungen z.B. auf die Server Management Lösungen von Laravel zu hosten. Wer also Symfony nutzt und kennt, ist gut aufgehoben und braucht aus meiner Sicht nicht über einen Wechsel zum Laravel Framework nachdenken.

Laminas (Zend Framework)

Der "alte Hase" hat einen neuen Namen

Nachdem Zend aufgekauft wurde, wurde das Zend Framework in der Form eingestampft. Das Unternehmen fokussiert sich seither auf die Zend Server Sparte und das ehemalige Zend PHP Framework wird seitdem unter dem Namen "Laminas" von der Community weiterentwickelt.

Aufgrund der Historie hat Zend nachwievor eine große Community. Schon das Zend Framework war sehr beliebt und hat in PHP viele neue Standarss gesetzt. In den ersten Jahren, bevor Magento von Adobe aufgekauft wurde, war das beliebte Shopsystem ebenfalls vollständig mit dem Zend Framework entwickelt. Dabei hat Zend auch eigene Tools z.B. wie Apigility für REST-API´s entwickelt und verfolgt bis heute einen modularen Ansatz. Wie bei Zend Expressive installiert man sich die Module und Pakete, die man benötigt. Allerdings war das Setup gerade in den ersten Jahren etwas komplex und fehleranfällig. Es gab mit Laravel oder Symfony bessere Ansätze und es war auch die Zeit und der Grund, weshalb ich seither alle PHP Projekte mit Laravel umsetze.

Benötigen Sie Unterstützung bei Ihrem nächsten Projekt?

Stellen Sie heute eine kostenlose Anfrage. Das Erstgespräch ist kostenfrei und wir besprechen Ihr Vorhaben und ob ich Ihnen dabei behilflich sein kann.

Yii

... setzt auf pragmatismus und performance

Auch das Yii Framework ist einfach einzurichten und sehr leicht erweiterbar. Einer der größten Vorteile von Yii ist aber die Performance. Yii erfreut sich zudem einer großen Community und ist daher eine gute Alternative zu den anderen Frameworks.

Code-Igniter

... gilt als das "Einsteiger-Framework"

Das 2006 in’s Leben gerufene Framework Code-Igniter zeichnet sich vor allem durch seine schlanke Struktur aus und ist durch die einfache Konfiguration und Installation sowie durch die ausführliche Dokumentation.

Es wurde in der Vergangenheit häufig als Anfänger Framework empfohlen. Anfänger würde ich persönlich heute aber direkt zu Laravel raten, auch da es eine umfangreiche Dokumentation und einer eigenen Screencasting Plattform mit etlichen Tutorials, nicht nur zum Laravel Framework sondern auch vielen PHP Basics bietet.

Micro-Frameworks

... Der Ansatz des Microframework dient heute als weitesgehend überholt

Viele PHP-Frameworks haben den Nachteil, dass zu viele Module und Funktionalitäten mit installiert werden, die für das jeweilige Webprojekt unnötig sind. Ein erster Lösungsansatz waren Micro-Frameworks. Laravel brachte daher das Micro-Framework Lumen, und Symfony das Micro-Framework Silex in’s Rennen. Die Frameworks sollten sich besonders für kleinere Webprojekte und internen Apps eignen. In der Zwischenzeit wurden die großen Frameworks auch den aktuellen Bedürfnissen angepasst. So ist es mittlerweile möglich, dass man einige führende Frameworks im Vorfeld so konfigurieren kann, dass man nur noch die möglichen Funktionalitäten lädt, weshalb das Micro-Framework Silex obsolet und nicht mehr weiterentwickelt wird.

Bonus: Microservices

... als möglichen Architektur Ansatz

Ein bekanntes Problem beim entwickeln von individuellen Anwendungen mit PHP Frameworks ist, dass solche Systeme / Anwendungen schnell zu komplex werden und zu viele Dinge können. Dann spricht man vom sogenannten „Legacy Code“. Eine Anwendung wird immer aufwendiger zu erweitern und zu zu warten. Ein Lösungsansatz ist, eine Anwendung in sogenannte Micoservices aufzuteilen, die über Schnittstellen miteinander kommunizieren. Ein Microservice beschreibt im Grunde, dass eine Anwendung sich nur auf einen Teil konzentriert und Operationen aus anderen Microservice-Anwendungen bezieht. So ist man auch nicht grundsätzlich gezwungen, dass alle Microservices/Systeme diesselbe Programmiersprache oder dasselbe Framework nutzen. Beispiel: Das Shop-System bezieht seine Produktdaten aus einem Warenwirtschaftssystem. Alle Bestellungen über dem Shop werden an einem Bestellsystem gesendet. Die Benutzerdaten und das Benutzerkonto liegen im einem weiteren System. Das Shop-System nutzt zur Kommunikation die zur Verfügung gestellten Schnittstellen (API). Heute gibt es diesen Ansatz in einer anderen Form auch für Content Managemennt Systeme. So kann man Wordpress z.B. als Headless CMS nutzen oder StrapiCMS als speziell dafür entwickeltes CMS. Das Frontend hingehen ist völlig losgekoppelt und kann z.B. mit einem modernen Javascript Framework wie Nuxtjs, Nextjs, AngularJs, Svelte o.ä. umgesetzt werden. Das Frontend kommuniziert mit dem Headless CMS auch nur über API Schnittstellen.

Fazit

Es gibt noch eine Vielzahl weiterer Frameworks, die sich großer Beliebtheit erfreuen wie z.B. Code-Igniter, FuelPHP, Phalcon und CakePHP u.vm. Jedes PHP Framework hat seine Stärken und Schwächen. Es macht Sinn den Einsatz des PHP-Frameworks pro Web-Projekt abzuwägen. Worauf liegt die meisste Priorität z.B. hohe Peformance oder einfache Erweiterbarkeit? Aber auch die Erfahrung und Praxis des Entwickler-Teams sollte eine entscheidene Rolle bei der Entscheidung spielen. Sind viele Anwendungen mit einem PHP Framework in einem Unternehmen entwickelt und haben die Entwickler auch dort die meisste Erfahrung, wäre grundlich abzuwägen, ob ein anderes PHP-Framework entscheidene Vorteile bietet.