Extbase – Extensions schreiben leicht(er) gemacht

Seit TYPO3 4.3 hilft Extbase bei der Entwicklung von Extensions. Wer einen weniger komplizierten und vor allem schnellen Weg der Extension-Entwicklung sucht, ist bei Extbase genau richtig.

Quelle: Pixabay

Extbase und Fluid – was ist was? Im Zusammenhang mit Extbase stößt man auch immer auf Fluid. Doch was ist eigentlich was? Generell kann diese Frage schnell beantwortet werden: Fluid ist die Template-Engine und Extbase ist ein MVC Framework. MVC steht für „Model-View-Controller“ und stellt ein Muster der Software-Architektur dar. Das Grundprinzip ist die Dreiteilung der Software in Model, View und Controller. Das Model ist dabei für Verwaltung und Aufbereitung der Daten zuständig, der View fungiert als Template der Ausgabe und der Controller organisiert neben dem Ablauf der Software auch die „Kommunikation“ zwischen allen Komponenten. Extbase kann somit als „Verbindung“ zwischen TYPO3 und Extensions betrachtet werden.

 

Doch worin liegt der entscheidende Vorteil von Extbase?

 

Ganz einfach: Eine auf Extbase basierende TYPO3 Extension kann sich als gewappnet für zukünftige TYPO3-Versionen sehen. Bei Extbase werden Daten, deren Verarbeitung und ihre Darstellung voneinander getrennt. Damit gewinnt der Quellcode deutlich an Übersichtlichkeit und das Bugfixing lässt sich überwiegend auf einen der oben genannten Bereiche reduzieren.

Weitere und wahrscheinlich für viele entscheidende Boni kann man in der vereinfachten Entwicklung und der Verwaltung von TYPO3 Extensions finden. Außerdem hält Extbase Funktionen inne, die eine Registrierung von Extensions in TYPO3 vereinfachen, sodass sie im Anschluss im Pluginbereich der Contentelemente ausgewählt werden können.

Grundsätzlich greift man nicht direkt auf die Datenbank zu, denn Extbase hilft beim Auslesen der Variablen- und Klassennamen aus. Mithilfe dieser Namen sucht (und findet) Extbase dann die jeweiligen Namen in der Datenbank.


Doch worin liegt der entscheidende Vorteil von Fluid? Fluid, die Template-Engine, sichert generell die individuelle und auch einfache Erstellung des Userinterface der Extension.

 

Welche Rolle spielt der Extension Builder dabei?

 

Wer sich an eine komplett neue Extension auf der Basis von Extbase beziehungsweise Fluid wagen möchte, dem hilft der Extension Builder, ebenfalls eine TYPO3 Extension. Generell unterstützt der Extension Builder Entwickler bei der Erstellung eines Grundgerüsts, auf welchem dann die weitere Programmierung basiert.

Der Grundaufbau des Extension Builders kann mit grafischen Tools erstellt werden, wodurch auch Plugins und Backend-Module möglich sind. Außerdem werden alle Dateien automatisch generiert. Das erspart viel Arbeit und Zeit, denn man hat somit eine Basis-Extension, in die dann alle Logiken eingebunden werden können. Kurz und knapp zusammengefasst heißt das für den Entwickler, dass nicht alle Dateien und Strukturen von null auf neu erstellt werden müssen.

 

Wie installiere ich den Extension Builder?

 

Die Installation des Extension Builder läuft wie auch bei anderen Extensions ab. Das bedeutet, dass wie gewohnt im Extension Manager die Installation gestartet wird - fertig. Sobald dies erledigt ist, findet man im Backend einen neuen Eintrag. Nach erfolgreicher Installation befindet sich in der Drop-Down-Box dann die Option "create new extension", in der sich wiederum schon Einträge wie "geladene Erweiterungen" und "Erweiterungen importieren" befinden.

 

Was muss man beachten?

 

Wer eine auf Extbase basierende Extension entwickelt, muss sich genau im Klaren über die Struktur sein, der man bei deren Entwicklung folgen muss. Allerdings entsteht daraus auch der Vorteil, dass selbst bei komplizierten Extensions ein guter Überblick beibehalten wird.

Natürlich muss vor dem Schreiben der Extension zu guter Letzt auch beachtet werden, dass TYPO3 Anfänger aufgrund der hohen Komplexität der Software leicht in Schwierigkeiten kommen können. Neben den technischen Features braucht man also auch noch Hintergrundwissen über die Schnittstellenfunktionalität von TYPO3, damit die Extension dann auch kompatibel ist, langfristig läuft und sich fehlerfrei anbinden lässt. Wenn man sicher aber auf diesen Gebieten sicher fühlt, dann bleibt nur noch zu sagen: Viel Spaß mit der (ersten) eigenen Extension!