PHP Frameworks


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.

Jedes Framework hat seine Vor- und Nachteile, da die jeweiligen Frameworks Prioritäten auf bestimmte Aspekte liegt z.B. hohe Flexibilität oder Performance oder eine einfache Struktur, die auch Entwickler mit wenig Berufserfahrung schneller verstehen können. Es macht daher immer Sinn den Einsatz des Frameworks pro Web-Projekt zu entscheiden.

Laravel


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. 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: Laravel

Laravel Screencasts: Laracasts

Symfony


Auch Symfony gehört zu einer der führenden PHP Frameworks, welches seit 2005 von SensioLabs entwickelt wird. In den jungen Jahren der PHP-Frameworks war es die Alternative zum Zend-Framework. Heute misst sich Symfony eher mit Laravel. Symfony eignet sich vor allem für hoch skalierbare komplexe Enterprise Projekte.

Offizielle Seite: Symfony

Zend Framework


Mittlerweile gibt es das Zend Framework in der dritten Version. Das Zend Framework wurde von den PHP Entwicklern mit entworfen und ist einer der ältesten PHP Frameworks. U.a. wurde das damals aufstrebene Shop-System mit dem Zend Framework 1 gestartet. Mittlerweile gibt es das Zend Framework in der dritten Version. Am 17 April 2019 wurde bekannt gegeben, dass das Zend Framework mit dem neuen Namen „Laminas“ als Community-Projekt fortgeführt wird.

Offizielle Seite: Laminas.org

Beitrag zum Laminas-Launch

Yii


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


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 ideal für Einsteiger geeignet.

Micro-Frameworks


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 eignen sich besonders für kleinere Webprojekte und internen Apps. 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. Ein Ableger von Zend ist Zend Expressive. Symonfy selbst wirbt damit, dass sich das PHP-Framework flexibel konfigurieren lässt, weshalb das Micro-Framework Silex obsolet und nicht mehr weiterentwickelt wird.

Bonus: Microservices


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 ggf. Operationen aus anderen Microservice-Anwendungen bezieht. 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).

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.