Glossar

Extbase

Das Framework, mit dem eigene TYPO3-Erweiterungen mit eigenen Datenmodellen gebaut werden.

Was Extbase ist

Extbase ist das Framework, mit dem in TYPO3 eigene Erweiterungen mit eigener Datenhaltung gebaut werden. Es folgt dem Muster Model, View, Controller: Das Modell beschreibt die Daten, der Controller steuert den Ablauf, die View gibt aus.

Der Nutzen liegt darin, dass aus einem sauber beschriebenen Datenmodell vieles von selbst folgt: Validierung, Formularverarbeitung, Datenbankzugriff und die Anbindung ans Backend.

Die Bausteine

Ein Model beschreibt einen Datensatz als PHP-Klasse mit Eigenschaften. Ein Repository kapselt den Zugriff darauf, also alle Abfragen. Ein Controller nimmt Anfragen entgegen, holt Daten über das Repository und übergibt sie an ein Fluid-Template.

Diese Trennung wirkt am Anfang nach viel Zeremonie für wenig Ergebnis. Sie zahlt sich aus, sobald die Erweiterung wächst, weil jede Änderung einen klaren Ort hat.

Zusammenhang mit TCA

Extbase-Modelle brauchen eine Entsprechung in der Datenbank, und wie TYPO3 diese Tabellen im Backend darstellt, regelt das TCA. Beide müssen zusammenpassen: Eine Eigenschaft im Modell ohne Feld in der Tabelle führt zu schwer auffindbaren Fehlern.

Wann etwas anderes besser passt

Nicht jede Anforderung braucht ein eigenes Datenmodell. Wenn Inhalte redaktionell gepflegt werden und sich in Seiten und Inhaltselemente einfügen, ist der Standardweg meist der bessere. Extbase lohnt sich dort, wo Daten eine eigene Struktur, eigene Beziehungen und eine eigene Verwaltung brauchen.

Häufige Fragen

Wann lohnt sich eine eigene Extbase-Extension?

Wenn eigene Datenstrukturen im Spiel sind, die über das hinausgehen, was Inhaltselemente abbilden können: Produkte mit Varianten, Veranstaltungen mit Anmeldung, Standorte mit Öffnungszeiten, Stellenangebote mit Bewerbungsformular.

Für reine Darstellungsaufgaben ist Extbase zu viel Apparat. Ein individuelles Inhaltselement über TCA und Fluid ist dann der schlankere Weg.

Ist Extbase langsam?

Der Ruf stammt aus früheren Versionen und aus Fällen, in denen das Framework gegen seine Absicht eingesetzt wurde, etwa bei sehr großen Datenmengen ohne angepasste Abfragen.

Für den typischen Einsatz ist die Leistung unkritisch. Wo doch, lassen sich einzelne Abfragen gezielt optimieren, ohne das ganze Modell aufzugeben.

Begriffe in diesem Text

Eigene Datenstrukturen im Spiel?

Erzähl uns, was verwaltet werden soll. Wir sagen dir, ob eine bestehende Extension reicht oder eine eigene der ehrlichere Weg ist.