Wenn du an Webentwicklung denkst, fällt dir neben HTML, CSS und JavaScript vor allem die Sprache PHP ein.

Entgegen der landläufigen Meinung ist PHP nicht tot. Es wird immer noch von vielen Webseiten verwendet, einschließlich großer Namen wie Facebook und Wikipedia.

Laut W3Techs wird PHP von etwa 79 % aller Webseiten verwendet. Es ist achtmal beliebter als ASP.NET, sein nächster Rivale bei den serverseitigen Programmiersprachen.

Der Nutzungsanteil von PHP ist im letzten Jahr konstant geblieben.

Historische Verwendung von PHP
Historische Verwendung von PHP

PHP-Programmierer werden sich oft an ein PHP-Framework wenden, um ihren Code zu komponieren. Lass uns herausfinden, was PHP-Frameworks sind, warum sie verwendet werden und einige der beliebtesten untersuchen.

Was ist ein PHP Framework?

Ein PHP-Framework ist eine Plattform zur Erstellung von PHP-Webanwendungen. PHP-Frameworks stellen Code-Bibliotheken für häufig verwendete Funktionen zur Verfügung, wodurch die Menge des Originalcodes, den du schreiben musst, reduziert wird.

Warum ein PHP Framework benutzen?

Es gibt viele gute Gründe für die Verwendung von PHP-Frameworks im Gegensatz zu einer Programmierung von Grund auf.

1. Schnellere Entwicklung

Da PHP-Frameworks eingebaute Bibliotheken und Tools haben, ist die Entwicklungszeit geringer.

Zum Beispiel hat das CakePHP-Framework das Bake-Kommandozeilen-Tool, mit dem du schnell jeden Skelettcode erstellen kannst, den du in deiner Anwendung brauchst.

Mehrere populäre PHP-Frameworks haben die PHPUnit-Bibliothek zum einfachen Testen integriert.

2. Weniger zu schreibender Code

Durch die Verwendung von Funktionen, die in das Framework eingebaut sind, brauchst du nicht so viel Originalcode zu schreiben.

3. Bibliotheken für allgemeine Aufgaben

Viele Aufgaben, die Entwickler innerhalb von Webapplikationen erledigen müssen, sind häufig. Beispiele dafür sind Formularvalidierung, Datenbereinigung und CRUD-Operationen (Create, Read, Update und Delete). Anstatt deine eigenen Funktionen für diese Aufgaben schreiben zu müssen, kannst du einfach die Funktionen verwenden, die Teil des Frameworks sind.

4. Befolge gute Coding-Praktiken

PHP-Frameworks folgen normalerweise den besten Programmierpraktiken. Zum Beispiel teilen sie den Code ordentlich in eine Reihe von Verzeichnissen je nach Funktion auf.

Symfony Standard-Verzeichnisstruktur (Image source: Symfony)
Symfony Standard-Verzeichnisstruktur

Sie zwingen dich, den Code sauberer, ordentlicher und wartbarer zu organisieren.

Frameworks haben auch ihre eigenen Namenskonventionen für Entities, die du befolgen solltest.

5. Sicherer als deine eigenen Apps zu schreiben

Es gibt viele PHP-Sicherheitsbedrohungen, darunter Cross-Site-Scripting, SQL-Injection-Angriffe und Fälschung von Cross-Site-Anfragen. Wenn du nicht die richtigen Schritte unternimmst, um deinen Code zu sichern, werden deine PHP-Webanwendungen angreifbar sein.

Die Verwendung eines PHP-Frameworks ist kein Ersatz für das Schreiben von sicherem Code, aber es minimiert das Risiko von Hackerangriffen. Gute Frameworks verfügen über eine eingebaute Datenbereinigung und Abwehr gegen die oben genannten allgemeinen Bedrohungen.

6. Bessere Teamarbeit

Projekte mit mehreren Entwicklern können schief gehen, wenn keine Klarheit herrscht:

Die Verwendung eines Frameworks setzt klare Grundregeln für dein Projekt. Auch wenn ein anderer Entwickler mit dem Framework nicht vertraut ist, sollte er sich schnell einarbeiten und zusammenarbeiten können.

7. Leichter zu pflegen

PHP-Frameworks fördern das Refactoring von Code und fördern die DRY-Entwicklung (Don’t Repeat Yourself). Die daraus resultierende schlankere Codebasis benötigt weniger Wartung.

Du brauchst dich auch nicht um die Wartung des Kernframeworks zu kümmern, da dies von den Entwicklern für dich erledigt wird.

Was du vor der Benutzung eines PHP-Frameworks wissen musst

Das erste, was du wissen musst, bevor du ein PHP-Framework benutzen kannst, ist PHP selbst! Wenn du die Sprache nicht gut beherrschst, wirst du Schwierigkeiten haben, ein Framework zu erlernen. Die meisten Frameworks laufen mit PHP Version 7.2 oder neuer.

Wenn du dein PHP auffrischen musst, lies diese Artikel:

Als nächstes solltest du ein paar eigene PHP-Anwendungen erstellt haben, damit du eine klare Vorstellung davon hast, was im Frontend und Backend benötigt wird.

Die Kenntnis von objektorientiertem PHP ist ebenfalls ein Muss, da die meisten modernen PHP-Frameworks objektorientiert sind. Stelle sicher, dass du Konzepte wie Klassen, Objekte, Vererbung, Methoden, Eigenschaften und Zugriffsmodifikatoren verstehst.

Da sich viele Webanwendungen mit einer Datenbank verbinden, solltest du über Datenbanken und SQL-Syntax Bescheid wissen. Jedes PHP-Framework hat seine eigene Liste der unterstützten Datenbanken.

Es ist nützlich, ein objekt-relationales Mapping (ORM)-Modell zu verstehen. ORM ist eine Methode, auf Datenbankdaten mit objektorientierter Syntax statt mit SQL zuzugreifen. Das bedeutet, dass du deine Datenbankabfragen in vertrautem PHP schreiben kannst, obwohl es Zeiten geben kann, in denen du SQL verwenden möchtest.

Viele PHP-Frameworks haben ihr eigenes ORM eingebaut. Zum Beispiel benutzt Laravel das Eloquent ORM. Andere benutzen ein Open Source ORM wie Doctrine.

Es ist hilfreich zu verstehen, wie Webserver wie Apache und Nginx funktionieren. Möglicherweise musst du Dateien auf dem Server konfigurieren, damit deine App optimal funktioniert.

Du wirst wahrscheinlich einen Großteil deiner Entwicklung lokal machen, also musst du auch über localhost Bescheid wissen. Eine andere Möglichkeit ist es, deine Anwendung in einer virtuellen Umgebung mit Vagrant und VirtualBox zu erstellen und zu testen.

Model-View-Controller-Architektur

PHP-Frameworks folgen typischerweise dem Model-View-Controller (MVC)-Designmuster. Dieses Konzept trennt die Manipulation von Daten von ihrer Präsentation.

Model-View-Controller-Prozess
Model-View-Controller-Prozess (Bildquelle: Wikimedia Commons)

Das Modell speichert die Geschäftslogik und die Anwendungsdaten. Es übergibt die Daten an die View, die Präsentationsebene. Der Benutzer interagiert mit dem View und kann über den Controller Anweisungen eingeben. Der Controller gibt diese Befehle an das Model, und der Zyklus geht weiter.

Kurz gesagt, im Modell geht es um Daten, im View um das Aussehen und im Controller um das Verhalten.

Eine Analogie des MVC-Musters ist die Bestellung eines Cocktails an einer Bar.

Der User ist der Gast, der an der Bar (dem View) ankommt und eine Erfrischung braucht. Der User gibt seine Getränkebestellung an den Barkeeper (den Controller).

Der Controller stellt die Bestellung aus dem Model zusammen – das Rezept, die Zutaten und die Ausrüstung. Abhängig vom Cocktail können sie einen der folgenden oder andere Gegenstände verwenden:

  • Alkohol
  • Fruchtsaft
  • Eis
  • Zitrone
  • Glas
  • Cocktail-Shaker
  • Olive
  • Rührer

Der fertige Cocktail wird auf die Bar gelegt, damit der User ihn genießen kann. Sollte der User einen weiteren Drink wünschen, muss er zuerst mit dem Controller sprechen. Es ist ihnen nicht erlaubt, das Model zu betreten und ihren eigenen Drink zu mixen.

In den Begriffen der PHP-Anwendung könnte das MVC dem folgenden entsprechen:

  • Model: eine Datenbank
  • Ansicht: eine HTML-Seite oder Seiten
  • Controller: Funktionen, um auf die Datenbank zuzugreifen und sie zu aktualisieren

Wenn du dich mit einem Kommandozeileninterface (CLI) wohlfühlst, hilft das bei der Verwendung eines PHP-Frameworks. Laravel hat seine eigene CLI, Artisan Console. Mit dem make-Befehl in Artisan kannst du schnell Modelle, Controller und andere Komponenten für dein Projekt bauen.

Vertrautheit mit der Kommandozeile ist auch der Schlüssel zur Benutzung des PHP-Paketmanagers Composer. Das Yii-Framework ist eines von mehreren, das den Composer verwendet, um Abhängigkeiten zu installieren und zu verwalten – Pakete, die für die Ausführung einer Anwendung benötigt werden.

Packagist ist die Haupt-Repository von Paketen, die du mit Composer installieren kannst. Einige der beliebtesten Composer-Pakete laufen mit dem Symfony-Framework.

Packagist beliebte Pakete
Packagist beliebte Pakete

Worauf solltest du bei einem PHP Framework achten?

Hier sind einige Faktoren, die du bei der Auswahl des besten PHP-Frameworks für dein Projekt berücksichtigen solltest.

Erstens, wenn du neu in einem PHP-Framework bist, sollte die Lernkurve nicht zu steil sein. Du willst keine kostbare Zeit investieren, um ein Framework zu lernen, wenn es zu kompliziert ist, um es zu begreifen. Zum Glück ist PHP eine der besten Programmiersprachen, die man lernen kann.

Als nächstes willst du ein Framework, das einfach zu benutzen ist und dir Zeit spart.

Ein PHP-Framework sollte deine technischen Anforderungen für ein Projekt erfüllen. Die meisten Frameworks werden eine PHP-Mindestversion und bestimmte PHP-Erweiterungen haben, mit denen sie funktionieren. Vergewissere dich, dass dein Framework die Datenbank(en) deiner Wahl unterstützt und dass du das Framework mit dem Webserver, auf dem du es einsetzen möchtest, verwenden kannst.

Wähle ein Framework mit der richtigen Balance an Features. Ein Framework mit vielen Funktionen kann für manche Projekte ein Segen sein. Wenn du andererseits nicht viele Features benötigst, wähle ein Framework, das reduziert und minimal ist.

Einige wünschenswerte Features sind:

Wenn du eine Anwendung erstellen musst, die skalierbar ist, wähle ein Framework, das dies unterstützt.

Schließlich sind eine gute Dokumentation und Support wichtig, damit du das Beste aus deinem PHP-Framework herausholen kannst. Ein Framework mit einer großen und lebendigen Community hält auch eher den Test der Zeit durch und kann dir auch helfen, wenn du auf Schwierigkeiten stößt.

Leseempfehlung: Wie du das PHP-Speicherlimit in WordPress verbesserst.

Was sind die besten PHP-Frameworks im Jahr 2024?

Es ist schwierig, eine definitive Liste der PHP-Frameworks zu bekommen. Wikipedia listet 40 PHP-Frameworks auf, aber einige davon werden besser als Content-Management-Systeme bezeichnet, und zweifellos gibt es noch viel mehr.

Zu den frühen PHP-Frameworks gehören PHPlib, Horde und Pear. Die meisten der großen Namen sind jetzt seit 2005 oder neuer auf dem Markt.

Hier sind einige der besten PHP-Frameworks, die heute verwendet werden.

Laravel

Laravel
Laravel

Laravel wird als „The PHP Framework for Web Artisans“ bezeichnet. Es wurde von Taylor Otwell entwickelt, der ein Framework mit Elementen wollte, die CodeIgniter nicht hatte, wie z.B. Benutzerauthentifizierung.

Schnelle Spezifikationen

Gestartet: Juni 2011

Aktuelle Version: 8, veröffentlicht am 8. September 2020.

Technische Anforderungen:

  • PHP >= 7.2.5 (oder benutze Laravel Homestead)
  • Composer installiert
  • Datenbank Support für MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+, SQL Server 2017+.

Die Vorteile von Laravel

Es ist einfach, mit Laravel Homestead anzufangen, einer virtuellen Entwicklungsumgebung, die für dich gemacht ist.

Laravel Homestead ist eine offizielle, vorverpackte Box von Vagrant, die dir eine wunderbare Entwicklungsumgebung bietet, ohne dass du PHP, einen Webserver und andere Serversoftware auf deinem lokalen Rechner installieren musst. Keine Sorgen mehr darüber, dass du dein Betriebssystem durcheinander bringst!

Wenn du ein Mac-Benutzer bist, hast du auch die Wahl, Laravel Valet als Entwicklungsumgebung zu benutzen. Laravel Valet unterstützt übrigens Symfony, CakePHP 3, Slim, und Zend, sowie WordPress.

Laravel benutzt eine Template-Engine namens Blade. Ein Vorteil, den es gegenüber anderen Templating-Engines hat, ist, dass man PHP innerhalb von Blade verwenden kann, was mit den anderen nicht möglich ist.

Packalyst, eine Sammlung von Laravel-Paketen, hat mehr als 15.000 Pakete, die du in deinen Projekten verwenden kannst.

Laravel bietet eine Reihe von Sicherheitsmerkmalen und -methoden, die die folgenden abdecken:

  • Authentifizierung
  • Autorisierung
  • E-Mail-Verifizierung
  • Verschlüsselung
  • Hashing
  • Passwort zurücksetzen

Laravels Eloquent ORM und Fluent Query Builder schützen vor SQL-Injection-Angriffen, da sie PDO-Parameterbindung verwenden. Der Cross-Site Request Forgery (CSRF)-Schutz, der ein verstecktes CSRF-Formular-Token verwendet, ist ebenfalls standardmäßig aktiviert.

Das Artisan Console Kommandozeilen-Tool, das Laravel hat, beschleunigt die Entwicklung, indem es Entwicklern erlaubt, sich wiederholende Aufgaben zu automatisieren und schnell Skelettcode zu generieren.

Als wir PHP-Benchmark-Tests durchführten, war Laravel das schnellste der PHP-Frameworks, die wir ausprobiert haben.

Das Laravel-Ökosystem hat mehrere nützliche Tools wie Mix zum Kompilieren von CSS- und JS-Assets und Socialite für die OAuth-Authentifizierung.

Laravel profitiert von einer großen Entwickler-Community (wie WordPress). Du kannst sie unter finden:

  1. Laracasts: ein Lernportal mit Kursen, Blog, Podcast und Forum.
  2. Laravel.io: ein Gemeinschaftsportal mit über 45.000 Benutzern.
  3. The Laravel subreddit: das Zuhause von 50.000 Mitgliedern von Laravel.

Wer verwendet Laravel?

Symfony

Symfony
Symfony

Symfony ist sowohl ein PHP-Framework als auch eine Sammlung von PHP-Komponenten zur Erstellung von Webseiten.

Schnelle Spezifikationen

Gestartet: Oktober 2005

Aktuelle Version: 5.1.4

Technische Voraussetzungen:

  • PHP >= 7.2.5
  • Composer installiert

Vorteile von Symfony

Symfony ist eine ausgezeichnete Wahl für Webseiten und Apps, die skalierbar sein müssen. Das modulare Komponentensystem ist sehr flexibel und lässt dich die Komponenten auswählen, die du für dein Projekt benötigst.

Symfony unterstützt die meisten Datenbanken aus den populären PHP-Frameworks:

  • Drizzle
  • MySQL
  • Oracle
  • PostgreSQL
  • SAP Sybase SQL Anywhere
  • SQLite
  • SQLServer

Der beste Weg, mit deinen Datenbanken zu interagieren, ist über das Doctrine ORM. Symfony benutzt Data Mapper, um Objekte der Datenbank zuzuordnen. Dadurch bleiben dein Objektmodell und das Datenbankschema getrennt, was bedeutet, dass du, wenn du eine Datenbankspalte änderst, nicht viele Änderungen in deiner Codebasis vornehmen musst.

Das Debuggen von Symfony-Projekten ist mit der eingebauten Symbolleiste sehr einfach.

Symfony verwendet die Twig Templating Engine, die leicht zu erlernen, schnell und sicher ist.

Packagist listet über 4.000 Symfony-Pakete auf, die du herunterladen und benutzen kannst.

Symfony wird kommerziell von Sensio Labs unterstützt. Das bedeutet, dass es im Gegensatz zu den meisten anderen PHP-Frameworks professionellen Support gibt. Es hat auch langfristige Support-Versionen, die 3 volle Jahre Support haben.

Symfony-Entwickler können über verschiedene Kanäle geschult werden und Hilfe erhalten:

In addition, the Symfony Community is huge with over 600,000 developers actively involved.

Who Uses Symfony?

Darüber hinaus ist die Symfony-Community mit über 600.000 aktiven Entwicklern riesig.

CodeIgniter

CodeIgniter
CodeIgniter

Das CodeIgniter-Framework hilft dir, Webanwendungen schnell zu erstellen, da es nur eine minimale Konfiguration hat.

Kurzbeschreibung

Gestartet: Februar 2006

Aktuelle Version: 4.0.3

Technische Voraussetzungen:

  • PHP >= 7.2
  • Datenbankunterstützung für MySQL, PostgreSQL, SQLite3

Vorteile von CodeIgniter

CodeIgniter ist für seine Geschwindigkeit bekannt. Es war das zweitschnellste der vier PHP-Frameworks, die wir in unseren PHP-Benchmark-Tests ausprobiert haben.

Der geringe Platzbedarf des Frameworks (es ist ein 1.2MB Download) bedeutet, dass es keine Probleme gibt. Du kannst genau die Komponenten hinzufügen, die du brauchst.

CodeIgniter ist flexibel: es fördert die Entwicklung mit der MVC-Architektur, aber du kannst auch Nicht-MVC-Anwendungen programmieren.

Das Framework beinhaltet Abwehrmechanismen gegen CSRF- und XSS-Angriffe, sowie kontextsensitives Escaping und eine Content Security Policy.

CodeIgniter unterstützt mehrere Methoden des Caching, was deine Anwendungen beschleunigt.

Wie bereits erwähnt, hat CodeIgniter im Vergleich zu anderen Frameworks eine leichte Lernkurve und ist ziemlich erweiterbar.

Die Community von CodeIgniter besteht aus einem Forum und einer Slack-Gruppe.

Wer benutzt CodeIgniter?

Zend Framework / Laminas Project

Zend Framework
Zend Framework

Das Zend Framework ist ein seit langem etabliertes PHP-Framework, das nun in das Laminas-Projekt übergeht. Die Migration zu Laminas wird dringend empfohlen, da Zend nicht mehr aktualisiert wird.

Das Laminas-Projekt besteht aus 3 Teilen:

  1. Lamellenkomponenten und MVC
  2. Mezzio
  3. Laminas API-Tools

Kurzbeschreibung

Gestartet: März 2006

Aktuelle Version: 3.0.0 (Zend) oder 1.3.0 (Laminas)

Technische Anforderungen:

  • PHP >= 5.6 (Zend) oder >=7.3 (Laminas)
  • Composer installiert
  • Datenbank Support für MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite und Informix Dynamic Server.

Vorteile von Zend/Laminas

Das Zend Framework wurde bereits mehr als 570 Millionen Mal installiert. Es ist auch das von Unternehmen am häufigsten verwendete PHP-Framework.

Zend folgt den Standards der PHP Framework Interop Group (PHP-FIG), was bedeutet, dass es problemlos auf andere Frameworks übertragen werden kann.

Wie Symfony kannst du genau die Komponenten verwenden, die du brauchst.

Du kannst Zend verwenden, um RESTful-APIs zu erstellen.

Die Laminas-Community verfügt über ein Forum und eine Slack-Gruppe für Zusammenarbeit und Support.

Wer verwendet Zend/Laminas?

Laut der Zend Homepage wurde das Framework bereits von großen Unternehmen eingesetzt, darunter

Yii (Framework)

Yii Framework
Yii Framework

Der Name dieses Frameworks, Yii, bedeutet im Chinesischen „einfach und evolutionär“. Er steht auch für „Ja, das ist es!“.

Kurzbeschreibung

Gestartet: Dezember 2008

Aktuelle Version: 2.0.35

Technische Anforderungen:

  • PHP >= 5.4.0, 7+ empfohlen
  • Composer installiert
  • Datenbank-Support für SQLite-, MySQL-, PostgreSQL-, MSSQL- oder Oracle-Datenbanken

Die Vorteile von Yii

Du kannst mit Yii innerhalb von Minuten aufstehen und loslegen. Die Dokumentation ist gut geschrieben und leicht verständlich.

Yii Framework verfügt über verschiedene Sicherheitsmaßnahmen wie bcrypt-Passwort-Hashing, Verschlüsselung, Authentifizierung und Autorisierung. Die Dokumentation bietet bewährte Methoden, um SQL-Injection, XSS- und CSRF-Angriffe zu verhindern.

Der Gii-Code-Generator kann schnell und zeitsparend Skelettcode für dich erstellen.

Gii code generator
Gii code generator

Yii unterstützt vier Arten von Caching, um Webanwendungen zu beschleunigen: Daten-Caching, Fragment-Caching, Seiten-Caching und HTTP-Caching.

Du kannst Code von Drittanbietern in Yii-Projekten ausführen.

Die Yii-Community bietet Live Support über Slack oder IRC. Es gibt auch ein Diskussionsforum und soziale Medienkanäle. Die Community belohnt ihre aktiven Mitglieder mit Abzeichen und Einträgen in einer Hall of Fame.

Wer benutzt Yii?

CakePHP

CakePHP - PHP frameworks
CakePHP

CakePHP dient der schnellen und sauberen PHP-Entwicklung.

Kurze Beschreibung

Gestartet: April 2005

Aktuelle Version: 4.1.1

Technische Anforderungen:

  • PHP 7.2 (mindestens), 7.4 empfohlen
  • HTTP-Server mit mod_rewrite bevorzugt
  • Datenbankunterstützung für MySQL 5.6+, MariaDB 5.6+, PostgreSQL 9.4+, SQLite 3.8, SQL Server 2012+.

Die Vorteile von CakePHP

Die Konfiguration ist minimal. Du musst nicht mit XML- oder YAML-Dateien herumspielen. Sobald du deine Datenbank eingerichtet hast, kannst du mit dem Programmieren beginnen.

CakePHP hat seinen eigenen eingebauten ORM, der schnell und einfach zu benutzen ist.

Sicherheitsfunktionen beinhalten Methoden zur Verschlüsselung, Passwort-Hashing, Sicherung von Formulardaten und CSRF-Schutz.

CakePHP’s Komponenten und Helfer vereinfachen die Entwicklung und reduzieren die Anzahl der Fußgängeraufgaben, die du erledigen musst.

Github hostet eine hilfreiche Liste von CakePHP Ressourcen und Plugins.

Du kannst CakePHP durch das cookbook (Dokumentation), Online Training und CakeFest Konferenzen lernen.

Du kannst freundliche CakePHP-Baker über ihre Foren, Stack Overflow, IRC und Slack finden. Pro Support gibt es auch von Cake DC, geleitet von CakePHP-Gründer Larry Masters.

Wer benutzt CakePHP?

Slim

Slim Framework
Slim Framework

Slim ist ein schlankes, agiles Mikro-PHP-Framework, das von Josh Lockhart entwickelt wurde. Es konzentriert sich darauf, eine HTTP-Anfrage zu empfangen, einen Rückruf aufzurufen und eine HTTP-Antwort zurückzugeben.

Kurze Beschreibung

Gestartet: September 2010

Aktuelle Version: 4.5.0

Technische Voraussetzungen:

  • PHP 7.2 +
  • Webserver mit URL-Rewriting

Vorteile von Slim

Slim’s Codebase ist schlank, da es keine Abhängigkeiten von Dritten hat. Infolgedessen ist es sehr schnell.

Slim ist besonders geeignet, um kleine Apps und APIs zu erstellen. Wenn du mehr vom Framework benötigst, kann Slim sowohl mit First-Party- als auch mit Third-Party-Komponenten integriert werden.

Slim ist leicht zu erlernen und zu verstehen. Du kannst eine „Hello World“-App innerhalb von Minuten zum Laufen bringen.

Slim wird von den Entwicklern auf der Slant-Vergleichsseite als das beste PHP-Framework bewertet.

Was sind die besten PHP-Frameworks?
Was sind die besten PHP-Frameworks?

Professioneller Support für Slim ist bei Tidelift erhältlich.

Wer benutzt Slim?

Phalcon

Phalcon
Phalcon

Phalcon ist ein auf Geschwindigkeit ausgelegtes PHP-Framework. Es wird als Webserver-Erweiterung geliefert, die in Zephir und C geschrieben ist. Kenntnisse in C sind nicht erforderlich. Entwickler arbeiten mit den PHP-Klassen und Namespaces, die das Framework generiert.

Kurzbeschreibung

Gestartet: November 2012

Aktuelle Version: v5

Technische Anforderungen:

  • PSR-Erweiterung
  • PHP 7.4 + (neueste Version empfohlen)

Die Vorteile von Phalcon

Phalcon ist auf schnelles Arbeiten ausgelegt, da es die folgenden Merkmale aufweist:

  • Low-Level-Architektur.
  • Einmaliges Laden von Zephir, C-Erweiterungen und PHP.
  • Code wird kompiliert und nicht interpretiert, daher ist es schneller.
  • Speicherresident, d.h. es kann abgerufen werden, wann immer es benötigt wird.
  • Verzichtet im Gegensatz zu den meisten anderen PHP-Frameworks auf das Lesen von Dateien und Dateistatistiken, was zu einer verbesserten Leistung führt.

Da Phalcon locker gekoppelt ist, kannst du deine eigene Verzeichnisstruktur erstellen. Der Code von Phalcon lebt nicht im Projektverzeichnis, was den Code leichtgewichtig macht.

Phalcons Sicherheitskomponente hilft mit Passwort-Hashing und CSRF-Schutz.

Phalcons Template-Engine, Volt, ist extrem schnell und kommt mit Hilfsklassen, um Ansichten einfach zu erstellen.

Ihr könnt Support für Phalcon über die Dokumentation, die Foren, den Discord-Chat, den Stack Overflow und verschiedene Social Media Plattformen suchen.

Wer benutzt Phalcon?

Laut der Website Phalcon BuiltWith wird Phalcon von folgenden Seiten verwendet:

FuelPHP

FuelPHP
FuelPHP

FuelPHP ist ein gemeinschaftlich betriebenes PHP-Framework mit über 300 Mitwirkenden während seiner Laufzeit.

Quick Specs

Kurzbeschreibung

Gestartet: Juni 2011

Aktuelle Version: 1.8.2

Technische Anforderungen:

  • PHP 5.4+
  • Jeder Webserver

Vorteile von FuelPHP

FuelPHP verwendet MVC, unterstützt aber auch HMVC (Hierarchical Model View Controller). Dadurch wird eine weitere Schicht zwischen dem Controller und dem View hinzugefügt. Die Vorteile des HMVC-Entwurfsmusters sind:

  • Bessere Code-Organisation
  • Größere Modularität
  • Mehr erweiterbar
  • Fördert die Wiederverwendung von Code

Du kannst die Datei- und Ordnerstruktur wählen, die du für dein Projekt haben möchtest, da es nur wenige Einschränkungen gibt. FuelPHP nimmt die Sicherheit ernst, mit den folgenden Features:

  • Kodierung der Ausgabe
  • CSRF-Schutz
  • Input-, URI- und XSS-Filterung
  • Benutzereingaben entkommen, die in SQL-Anweisungen weitergegeben werden

FuelPHP hat sein eigenes Kommandozeilenprogramm, oil mit dem du Aufgaben ausführen, Code debuggen und gemeinsame Komponenten generieren kannst.

Der FuelPHP ORM ist mächtig und doch leichtgewichtig.

Du kannst der FuelPHP-Community in ihren Foren sowie auf Facebook und Twitter beitreten.

Wer benutzt FuelPHP?

  • Wan Wizard – Harro Verton, einer der Entwickler von FuelPHP
  • Front Desk – Hausverwaltungssystem

Fat-Free Framework

Fat-Free Framework
Fat-Free Framework

Wie Slim, Fat-Free Framework (F3) ist ein Mikro-Framework. Es strebt ein Gleichgewicht zwischen nützlichen Funktionen, Einfachheit, Benutzerfreundlichkeit und Geschwindigkeit an.

Kurzbeschreibung

Gestartet: 2009

Aktuelle Version: 3.7.2

Technische Voraussetzungen:

Vorteile des Fat-Free Frameworks

Die Codebasis ist etwa 65Kb, also ist es schnell. Trotzdem hat F3 alle Funktionen, die man erwarten würde. Du kannst es mit optionalen Plugins beliebig erweitern.

Mit Fat-Free Framework ist es sehr einfach zu erlernen. Es ist nicht nötig, den Composer, Curl oder einen Dependency Injector zu benutzen, um anzufangen. Du kannst eine Hello World-App in wenigen Minuten erstellen.

Fast das gesamte Framework ist modular aufgebaut, du kannst also nur die Teile verwenden, die du für die Erstellung deiner Web-Apps brauchst. F3 fügt standardmäßig keinen Code hinzu, den du nicht brauchst, so dass deine Apps minimal bleiben.

Die Dokumentation ist klar und einfach zu folgen, mit vielen Beispielen. Fat-Free Framework bietet eine Auswahl an Template-Engines: Du kannst PHP, die eigene Template-Engine von F3 oder andere wie Smarty oder Twig verwenden.

Die F3-Entwickler sind auf der Fat-Free Framework Google Gruppe präsent.

Wer benutzt das Fat-Free Framework?

Welches ist das beste PHP Framework für Anfänger?

Die besten Frameworks für Anfänger sind die, die einfacher und schlanker sind. Wenn du einen davon gemeistert hast, kannst du, falls du einen benötigst, zu einem mit mehr Funktionen ausgestatteten Framework übergehen.

Yii wäre meine erste Wahl für ein PHP-Framework für Anfänger. Yii’s Dokumentation führt dich durch die Erstellung einer App zum Betrachten von Ländern, lehrt dich über das MVC-Pattern und wie man mit Datenbanken arbeitet.

Yii Länder Web App
Yii Länder Web App

Wenn du einen Fehler machst, sind die Fehler klar und helfen dir beim Debuggen und schnell weitermachen.

Yii-Fehler für undefinierte Variable
Yii-Fehler für undefinierte Variable

Slim Framework ist schnell und einfach zu installieren. Slim hat ein Tutorial zur Erstanwendung für Version 3 des Frameworks. Leider ist es nicht auf die aktuelle Version 4 von Slim aktualisiert worden.

Slim 4 über den Composer installieren
Slim 4 über den Composer installieren

Für das Fat-Free Framework hast du die Wahl, entweder über den Composer zu installieren oder einfach eine Zip-Datei herunterzuladen und zu entpacken. Das Framework wird mit einem einfachen “ Hello, world“-Programm eingerichtet.

Das Benutzerhandbuch führt dich Schritt für Schritt durch die Dinge, die du wissen musst, vom Routing bis zum Unit-Test. Es gibt auch eine CMS-Demo, damit du sehen kannst, wie alle Teile zusammenpassen.

CodeIgniter hat auch ein ziemlich einfaches Setup mit guter Dokumentation. Ihr Tutorial zur Erstanwendung baut ein einfaches CMS mit CRUD-Funktionen mit News-Stories.

CodeIgniter Nachrichten Archiv Seite
CodeIgniter Nachrichten Archiv Seite

Zusammenfassung

Wenn du deine Zeit für die Entwicklung deiner PHP-Webanwendungen reduzieren möchtest, ist die Verwendung eines Frameworks eine kluge Wahl.

Um das Beste aus einem PHP-Framework herauszuholen und Frustration zu vermeiden, solltest du sicherstellen, dass du über gute PHP-Kenntnisse verfügst und die zugrunde liegenden Konzepte hinter Frameworks verstehst: MVC-Architektur, objektorientierte Syntax, Datenbanken und ORMs, und die Kommandozeile.

Für welches Framework du dich entscheidest, hängt von der Art der App ab, die du entwickelst ab. Es gibt PHP-Frameworks für jeden Geschmack, von ultra-minimal bis „alles außer der Küchenspüle“. Hoffentlich hat dir dieser Artikel geholfen, das perfekte PHP-Framework für dich zu finden.

Nun zurück zu dir: Welches ist dein bevorzugtes PHP-Framework und warum? Lasst es uns in den Kommentaren unten wissen!

Claire Brotherton

Claire Brotherton is a WordPress web developer, blog writer and accessibility advocate based in Edinburgh, Scotland. She works with businesses, nonprofits and entrepreneurs who are passionate about access and inclusion, and blogs regularly on her website, A Bright Clear Web. Tweet her at @abrightclearweb.