OOP in Drupal: Objektorientierte Patterns im CMS
Zuletzt aktualisiert: März 2026 · Lesezeit: 7 Minuten
Drupal 7 war prozedural: Funktionen, Hooks und globale Variablen. Mit Drupal 8 kam der Wechsel zu objektorientierter Programmierung. Dieser Umbruch hat die Codequalität und Wartbarkeit von Drupal-Projekten grundlegend verbessert.
Services und Dependency Injection
In Drupal ist Geschäftslogik in Services gekapselt. Ein Service ist eine PHP-Klasse, die über den Service-Container registriert und bei Bedarf injiziert wird. Statt globaler Funktionsaufrufe deklariert ein Modul seine Abhängigkeiten — der Container liefert die richtigen Objekte.
Dieses Pattern macht Code testbar: In Tests können Abhängigkeiten durch Mock-Objekte ersetzt werden. Es macht Code modular: Services können ausgetauscht oder erweitert werden, ohne andere Teile zu berühren.
Das Plugin-System
Drupals Plugin-System ist das OOP-Äquivalent zu den alten Hooks. Plugins sind Klassen, die ein Interface implementieren und per Annotation oder Attribut registriert werden. Block-Plugins, Feld-Plugins, Migrations-Plugins — das gesamte CMS basiert auf diesem System.
Neue Funktionalität wird durch neue Plugin-Klassen hinzugefügt, nicht durch Funktionen in .module-Dateien. Das reduziert Namenskollisionen und verbessert die Autocompletion in der IDE.
Events und Event-Subscriber
Drupal nutzt Symfonys EventDispatcher, um auf Ereignisse zu reagieren. Statt hook_init() oder hook_page_alter() registrieren Module Event-Subscriber, die auf spezifische Events hören.
Das entkoppelt Module voneinander: Ein Modul muss nicht wissen, welche anderen Module auf dasselbe Event reagieren. Das System ist erweiterbar, ohne bestehenden Code zu ändern.
Was das für euer Projekt bedeutet
Wartbarkeit. OOP-Code ist strukturierter und leichter zu verstehen. Neue Entwickler finden sich schneller zurecht.
Testbarkeit. Services mit injizierten Abhängigkeiten sind isoliert testbar. Das reduziert Fehler bei Updates und Erweiterungen.
Zukunftssicherheit. Drupals OOP-Architektur folgt PHP-Standards (PSR-4, PSR-7). Entwickler mit Symfony- oder Laravel-Erfahrung arbeiten sich schnell ein.
Drupal-Entwicklung nach Best Practices?
arocom entwickelt Drupal-Module mit OOP-Standards und automatisierten Tests. Der Zukunfts-Check bewertet die Codequalität eurer Plattform. Ab 2.500 EUR zzgl. MwSt., anrechenbar auf das Folgeprojekt.
Muss man OOP können, um Drupal zu nutzen?
Nein. Redakteure und Site-Builder arbeiten mit der grafischen Oberfläche. OOP-Kenntnisse sind für die Modulentwicklung und individuelle Anpassungen relevant.
Funktionieren alte Drupal-7-Module in Drupal 11?
Nein. Der Wechsel von prozedural zu OOP erfordert eine Portierung. Drupal 7 hat das End-of-Life erreicht. arocom begleitet die Migration und Portierung bestehender Module.
Welche PHP-Version braucht Drupal 11?
Drupal 11 erfordert PHP 8.3 oder neuer. Damit stehen alle modernen PHP-Features zur Verfügung: Typed Properties, Enums, Fibers und Attribute.
Weiterlesen
- Symfony und Drupal — Warum Drupal auf Symfony basiert
- Modulentwicklung — Eigene Drupal-Module entwickeln
- PHP im Drupal-Kontext — Die Programmiersprache hinter Drupal
Entdeckt einen zufälligen Artikel
Wie steht es um Drupal auf eurer Website? Der Zukunfts-Check zeigt in 2–4 Wochen, wo die größten Hebel liegen.
Drupal Zukunfts-Check
Checkliste: Ist eure Drupal-Installation zukunftsreif? 15 Prüfpunkte.
Kopiert diesen Prompt und fügt ihn in ChatGPT, Claude oder eine andere KI ein — ihr bekommt einen persönlichen Lernplan zu „OOP in Drupal: Objektorientierte Patterns im CMS“.
Du bist ein erfahrener Coach für Drupal. Ich möchte das Thema "OOP in Drupal: Objektorientierte Patterns im CMS" versteh...War dieser Artikel hilfreich?