Modul B · Werkzeuge · Lektion B3
PHP-Frameworks und CMS: Laravel, Symfony, WordPress & Co. im Überblick
Ein großer Teil dessen, was mit PHP gebaut wird, entsteht nicht auf der grünen Wiese, sondern auf einem Fundament: einem Framework oder einem Content-Management-System (CMS). Beide nehmen dir wiederkehrende Arbeit ab – aber auf sehr unterschiedliche Weise.
Lernziele
- Du kannst Framework und Content-Management-System unterscheiden.
- Du kennst die großen Frameworks und ihre Eigenheiten.
- Du triffst eine begründete Auswahl für ein Projekt.
Framework oder CMS?
Ein Framework ist ein Baukasten für Entwicklerinnen und Entwickler. Es liefert Routing, Datenbankzugriff, Formularverarbeitung, Sicherheitsfunktionen und eine Struktur, in die du deine eigene Anwendung einbaust. Ohne Programmierung entsteht damit nichts.
Ein CMS ist eine fertige Anwendung zur Verwaltung von Inhalten. Redakteurinnen und Redakteure pflegen Seiten über eine Oberfläche; Entwickler passen Aussehen und Funktionen über Themes und Erweiterungen an. Die Grenze verschwimmt, denn viele CMS bauen selbst auf Framework-Komponenten auf.
Symfony
Symfony wurde von Fabien Potencier entwickelt und erschien im Oktober 2005 als freie Software unter der MIT-Lizenz. Die französische Firma SensioLabs steht dahinter. Symfony ist zweierlei: ein vollständiges Framework und eine Sammlung einzeln nutzbarer Komponenten – etwa für HTTP-Anfragen, die Konsole oder Formulare. Diese Komponenten stecken in vielen anderen Projekten, unter anderem in Laravel und Drupal.
Symfony gilt als gründlich, langlebig und gut dokumentiert. Es ist oft die Wahl für große Unternehmensanwendungen mit langer Laufzeit, auch weil es Versionen mit Langzeitsupport gibt.
Laravel
Laravel wurde von Taylor Otwell entwickelt und erschien im Juni 2011. Es setzt auf eine besonders ausdrucksstarke Syntax und viele Konventionen, mit denen man schnell zu Ergebnissen kommt:
<?phpuse Illuminate\Support\Facades\Route;Route::get('/stundenplan/{}', function (string class="va">$klasse) { return view('stundenplan', ['klasse' => class="va">$klasse]);});Rund um Laravel ist ein großes Ökosystem mit Hosting-Angeboten, Admin-Oberflächen und Lernplattformen entstanden. Für Start-ups und mittelgroße Projekte ist Laravel sehr verbreitet.
Weitere Frameworks
Neben den beiden Großen gibt es Alternativen mit eigenem Profil: CakePHP und CodeIgniter gehören zu den älteren, leichtgewichtigen Frameworks, Laminas ist der Nachfolger des Zend Framework. Mikro-Frameworks wie Slim liefern nur Routing und Middleware und eignen sich gut für kleine Schnittstellen.
Die großen CMS
WordPress ist das mit Abstand verbreitetste CMS im Web. Es startete als Blogsoftware und ist heute ein Allzweckwerkzeug mit einem riesigen Angebot an Themes und Plugins. Diese Vielfalt ist Stärke und Risiko zugleich: Veraltete oder schlecht programmierte Plugins sind eine häufige Ursache für gehackte Websites.
TYPO3 hat im deutschsprachigen Raum eine starke Stellung, besonders bei Hochschulen, Behörden und größeren Unternehmen. Es ist auf viele Redakteure, feine Rechte und mehrsprachige Seiten ausgelegt.
Drupal ist international bei Organisationen mit komplexen Inhaltsstrukturen verbreitet und baut seit Version 8 stark auf Symfony-Komponenten.
Shopware ist ein E-Commerce-System aus Deutschland, das ebenfalls auf Symfony aufsetzt. Für Onlineshops sind außerdem Magento beziehungsweise Adobe Commerce und PrestaShop bekannt.
Wie du auswählst
Für die Entscheidung helfen vier Fragen:
- Wer pflegt später die Inhalte? Wenn Menschen ohne Programmierkenntnisse Texte ändern sollen, ist ein CMS meist die bessere Basis.
- Wie individuell ist die Logik? Eine Buchungsplattform mit eigenen Regeln passt besser zu einem Framework als ein Plugin-Flickenteppich.
- Wie lange soll das Projekt laufen? Achte auf Versionspolitik und Langzeitsupport.
- Welche Erfahrung gibt es im Team? Das bekannte Werkzeug schlägt oft das theoretisch bessere.
Im Unterricht lohnt es sich, zuerst ohne Framework zu arbeiten und ein Framework dann gezielt einzuführen – dazu mehr in PHP im Unterricht. Alle genannten Systeme werden über Composer installiert oder erweitert. Einen Überblick über die Verbreitung von PHP gibt W3Techs.
Selbstcheck
Was ist der Kernunterschied zwischen Framework und CMS?
Ein Framework ist ein Baukasten für Entwickler, ein CMS eine fertige Anwendung zur Inhaltspflege.
Welche bekannten Projekte nutzen Symfony-Komponenten?
Unter anderem Laravel, Drupal und Shopware.
Warum sind WordPress-Plugins ein Sicherheitsthema?
Veraltete oder schlecht programmierte Plugins sind eine häufige Einfallstür für Angriffe.