igorclauss.de open_in_new

Die 6 beliebtesten PHP-Frameworks außer Laravel

Das beliebteste PHP-Framework derzeit ist ganz klar Laravel, welches nächste Woche in der Version 6.0 erscheint. Aber was ist sonst auf dem Markt? Ich beschreibe in diesem Artikel die beliebtesten PHP-Frameworks.

Die beliebtesten PHP-Frameworks

Eine Liste der beliebtesten Frameworks in beliebiger Reihenfolge. ;-)

Zend Framework

Zend Logo

Wie schon andere ist auch Zend ein objekt-orientiertes Framework für die Programmiersprache PHP. Dabei ist das Framework praktisch eine Kollektion aus professionellen und gut verwalteten PHP-Paketen, die mithilfe von Composer in einem System vereint werden. Wie für objekt-orientierte Frameworks eher typisch ist auch Zend in einem MVC-Schema aufgeteilt. Dabei nutzt Zend allerdings das Front-Controller-Pattern.

Das Zend-Team wirbt auf seiner Website framework.zend.com immer wieder mit Benchmarks, die zeigen, dass Zend sehr lesitungsfähig ist. Außerdem ist es durch seine ohnehin schon sehr modulare Zusammensetzung leicht erweiterbar und anpassbar.

Das Zend Framework ist bereits im Jahr 2006 erschienen und läuft jetzt bereits in der Version 3.0. Diese soll im übrigen bis zu vier mal leistungsfähiger als die Version 2.0 sein.

Mehr Information über das Zend Framework erhälst du auf der bereits verlinkten Website. Dort wird auch ein Download, sowie die Dokumentation bereitgestellt. Außerdem solltest du bei Interesse einen Blick in das GitHub-Repository werfen.

CodeIgniter

CodeIgniter Logo

Vor allem durch sein kleines Volumen von ca 2MB und der hohen Performance überzeugt CodeIgniter seine Nutzer. Im Vergleich zu anderen großen Frameworks behaupten die Anhänger, dass die Einarbeitungszeit gering ist. Auch bevorzugen die Nutzer die Einfachheit des Open-Source-Framework. CodeIgniter bietet dem Programmierer eine vielzahl von Bibliotheken, die häufige Aufgaben erleichtern sollen. Dabei werden Sicherheitsrelevante Aspekte vom Framework übernommen, sodass der Anwender sich frei auf die Arbeit an seinem Projekt fokussieren kann. Eine strukturierte und umfangreiche Dokumentation ist schon im Download inbegriffen und hält eine Menge an Tutorials bereit.

CodeIgniter wurde erstmals 2006 veröffentlicht und wird zur Zeit unter der Version 3.0 geführt. Allerdings geht seit 2016 bereits die Entwicklung an CodeIgniter 4 weiter.

Mehr Information über CodeIgniter erhälst du auf der Website codeigniter.com. Dort wird auch ein Download des CodeIgniter Frameworks bereitgestellt. Wenn du erst einen Einblick in den Quellcode bekommen, oder es über Composer installieren möchtest findest du CodeIgniter in diesem GitHub-Repository.

Yii framework

Yii Logo

Yii steht als Abkürzung für "Yes, it is" oder wenn man es aus dem Chinesischen übersetzt eben für einfach bzw. evolutionär. Yiis Besonderheit ist, dass es ein komponentenbasiertes Webframework ist, womit es an die Notwendigkeiten seines Einsatzgebietes perfekt angepasst werden kann. Somit liegt wohl auch seine Leistungsstarke Performance nahe. Wie auch andere Frameworks erlaubt auch Yii mithilfe von Codegeneratoren eine schnelle Erstellung von häufig genutzten Templates. Yii funktioniert quasi direkt nach dem Download, was Zeit bei der Installation spart. Abgesehen von den bereits beschriebenen Vorzügen hat Yii bereits eine große Community, was sich in vielen Nachschlagewerken wie Websiten, Tutorials, Foren, Büchern etc. zeigt.

Das Yii Framework ist bereits im Jahr 2006 erschienen. Das Yii Entwicklerteam ist nicht besonders schnell im Veröffentlichen neuer Versionen, sodass die Aktuelle Version 2.0.23 erst im Juli 2019 veröffentlicht wurde. Dies kann entweder für eine langsame Entwicklung sprechen, oder durchaus auch positiv angesehen werden. Denn anscheinend Bedarf das Framework weniger Anpassungen, um auf einem modernen Entwicklungsstand zu bleiben.

Gerade zum Yii Framework gibt es sehr viel Lektüre. Einige interessante Bücher möchte ich hier nur kurz erwähnen.

Mehr Information über Yii erhälst du auf der Website yiiframework.com. Dort wird auch ein Download des Frameworks bereitgestellt, sowie innerhalb eines simplen GIFs erklärt, wie die Installation abläuft. Außerdem solltest du das GitHub-Repository aufsuchen, wenn du an diesem Framework interessiert bist.

CakePHP

CakePHP Logo

CakePHP präsentiert sich als zero-configuration Framework, denn nach der Instalation des an Ruby on Rails angelehnten Frameworks und der Datenbank kann es direkt losgehen. Dazu bietet es einige Code-Generatoren, die einem die Erstellung von immer denselben Dateien abnehmen. Aber nicht nur das, es hat eine Vielzahl von hilfreichen Features eingebaut wie bspw. Validatoren oder ein bequemes ORM für Datenbankabfragen. CakePHP strukturiert sich nach dem Schema eines klassischen MVC-Frameworks, allerdings folgt es dabei Konventionen, sodass der Entwickler genau weiß, wo welche Dinge erledigt werden sollen. Dies folgt dem "Convention over configuration" und dem DRY-Prinzip und spart Zeit bei der Planung von Projekten.

Das Open-Source-Framework ist im Jahr 2005 unter Michal Tatarynowicz erschienen und wird seitdem von einer großen Community genutzt und erweitert. Sodass es heute in der Version 3.8 erhältlich ist.

Mehr Information über CackePHP erhälst du auf der Website cakephp.org. Dort wird auch ein Download des Frameworks bereitgestellt. Außerdem solltest du das GitHub-Repository aufsuchen, wenn du an diesem Framework interessiert bist.

Slim Framework

Slim Logo

Slim ist ein sogenanntes Micro-Framework. Wie der Name schon sagt ist es sehr minimalistisch gehalten und gibt lediglich ein Grundgerüst für die Arbeit her. Allerdings beinhaltet dieses bereits Routing, Session Management, Cookie Verschlüsselung, Anwenderseitiges HTTP caching und mehr. Es kann genauso wie die anderen Frameworks gnz einfach über Composer installiert werden.

Dabei funktioniert das Routing etwas anders als bei den großen Frameworks und erinnert mehr an das Node.js Framework Express:

    
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;

require __DIR__ . '/../vendor/autoload.php';

$app = AppFactory::create();

$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
    return $response;
});

$app->run();

Ähnlich minimalistisch ist auch Slims Website www.slimframework.com, die mit seiner rauscharmen Struktur, zwar alles Wichtige beinhaltet, aber eben auch nicht mehr.

Mehr Information über Slim du auf der bereits verlinkten Website. Dort wird auch ein Download, sowie die Dokumentation bereitgestellt. Außerdem solltest du bei Interesse einen Blick in das GitHub-Repository werfen.

Phalcon

Phalcon Logo

Zunächst einmal ist auch Phalcon ein PHP-Framework, das nach dem MVC-Schema strukturiert ist. Anders als bei den anderen Frameworks ist jedoch, dass Phalcon nicht in PHP, sondern in C geschrieben ist.

Damit zählt Phalcon ohne Zweifel zu den schnellsten und effizientesten Frameworks. Dies wird auch darin deutlich, dass Phalcon in Benchmarkings besonders gut abschneidet. So hat es nicht nur die niedrigste Antwortzeit unter den Frameworks, sondern beantwortete auch die meisten Anfragen pro Sekunde. Dabei nutzte es auch noch die niedrigste Menge an Arbeitsspeicher. Wer genaueres zur Methodik und absolute Zahlen zu diesem Benchmarking lesen möchte kann dies im Blog des Phalcon Entwicklerteams in dem Artikel "Benchmarking Phalcon" nachlesen.

Damit ist Phalcon ein hocheffizientes Framework, welches vor allem in Anwendugen seine Berechtigung hat, die diese Effiziens erfordern. Also hoch frequentierte Seiten, die eine große Anfragenmenge bediehnen müssen.

Das eher junge Open-Source-Framework ist erstmals im Jahr 2012 veröffentlicht worden. Die aktuelle Version ist 3.4, welche 2018 erschienen ist.

Mehr Information über Phalcon erhälst du auf der Website phalcon.io. Dort wird auch ein Download des Frameworks bereitgestellt. Außerdem solltest du das GitHub-Repository aufsuchen, wenn du an diesem Framework interessiert bist.

Welches Framework ist denn nun das Beste?

Die Frage nach dem besten PHP-Framework kennt wahrscheinlich genauso viele Antworten wie Framework-Nutzer. Denn das hängt einfach von den Anforderungen des Problems ab, die das Framework lösen soll. Wenn es um Schnelligkeit geht, so lassen sich Messungen machen und natürlich auch in einer Grafik darstellen.

Doch auf welche Kosten geht diese Geschwindigkeit? Sind langsamere Frameworks vielleicht Nutzerfreundlicher? Ist der Code, der in diesen Frameworks produziert wird vielleicht sogar lesbarer? Ist er vielleicht leichter zu verwalten?

Letztenendes sind in der heutigen Zeit andere Faktoren entscheidend als Schnelligkeit. Ein Framework sollte vor allem eine angenehme Arbeitsumgebung schaffen. Es sollte die WTFs/Minute auf ein geringes Niveau herunterfahren. Damit das Entwicklerteam ihre Zeit nicht für das Framework, sondern viel mehr für den geschriebenen Code, der die eigentlichen Probleme löst, einsetzen.

Welches PHP Framework ist das richtige für dich?

Zunächst einmal ist die Nutzung eines Frameworks kein Muss. Wenn du nur eine kleine Statische Website betreibst, dann würde ich sogar den Nutzten von PHP in Frage stellen. Stellt deine Website allerdings dynamische Inhalte dar, oder hat interaktionelle Funktionen, dann erleichtern Frameworks die Arbeit enorm. Abgesehen von der Struktur und den Hilfsklassen, die diese mitbringen, kann auch die Community eine große Hilfe darstellen. Gerade bei den beliebteren Frameworks, die eine große Community haben finden sich für viele Probleme Lösungen im Netz.

Doch die Entscheidung, welches das Beste Framework ist, kann nicht pauschal beantwortet werden. Schließlich kann jedes Framework insoweit angepasst werden, dass es seine Aufgaben erfüllt. Doch gibt es Faktoren, ein Framework mehr oder weniger geeignet für dein Problem machen. Dazu solltest du vor allem analysieren was du brauchst um dein Problem zu lösen. Dann die Wahl auf ein Framework legen, dass diese Kriterien erfüllt.

Liste nicht vollständig

Ich weiß, dass diese Liste bei weitem nciht vollständig ist. Ich versuche sie nach und nach zu erweitern. Dabei kannst du mich unterstützen indem du mir deine Wünsche in einem Kommentar da lässt.

Einen Kommentar posten

Kommentare zu diesem Beitrag