Entwicklung & Design

Allgemeine APIs: Inside TYPO3 – Ein Blick in das Innere des CMS

API unterteilt sich in die Bereiche „Allgemeines“, „Backend“ und „Frontend“." title="Die TYPO3-API unterteilt sich in die Bereiche „Allgemeines“, „Backend“ und „Frontend“." width="300" height="208" class="alignleft size-medium wp-image-221176" /> Nachdem der erste Teil der Serie gezeigt hat, was TYPO3 bei der dynamischen Erzeugung einer Seite vom ersten Aufruf bis zur vollständigen Darstellung im Frontend im Hintergrund anstellt, beleuchtet dieser Teil die allgemeinen APIs, die innerhalb von TYPO3 für den reibungslosen Ablauf zuständig sind. Was auf den ersten Blick chaotisch aussehen mag, besitzt bei näherem Hinsehen eine äußerst durchdachte Struktur.

Gerade wenn man noch nicht so tief in TYPO3 eingestiegen ist, wünscht man sich oft eine Art Übersichtsplan über die internen Schnittstellen des Systems. Dieser Artikel soll hier Licht ins Dunkel bringen und die vorhandenen Möglichkeiten in Form der Nutzung verfügbarer Schnittstellen aufzeigen.

Um ein komplexes Software-Projekt wie TYPO3 zu verstehen, muss man als erstes einen Blick in die Vergangenheit wagen. Zunächst hat man als Programmierer eines großen Softwareprojekts freie Hand darüber, welchen Code man wie verwendet und welche Schnittstellen man versucht, zu definieren. Man braucht bestimmte Funktionen und implementiert diese, indem man seine Software um eben diese Bereiche erweitert. Irgendwann aber wird die Software so groß und komplex, dass man selbst als Erfinder nicht mehr alle Klassen und Funktionen überschauen kann.

Um dies zu umgehen, einigt man sich am besten von Anfang an (oder spätestens, wenn neue Funktionalitäten integriert werden) auf so genannte Programmierschnittstellen (engl. API – Application Programming Interface). Diese Schnittstellen stellen häufig benötigte Funktionen zur Verfügung, kapseln aber die Realisierung komplett ab. Daraus folgt, dass man sich nicht darum kümmern muss, wie eine Funktion genau realisiert ist, die beispielsweise die Datenbank anspricht. Über die API erhält man eine standardisierte Möglichkeit, eine bestimmte Aufgabe durchzuführen – im Hintergrund passieren dann vielleicht ganz viele Dinge, wie Sicherheitsüberprüfungen, Umwandlungen oder Transformationen. Dies geschieht im Idealfall allerdings im Backend – ohne dass der Anwender der API-Funktion davon etwas mitbekommt.

TYPO3 hat über die Jahre einige Schnittstellen implementiert bekommen, die die Arbeit eines Programmierers in vielen Punkten erleichtern. Was allerdings fehlt, ist eine übersichtliche Darstellung dieser API-Funktionen. Es gibt natürlich eine englische Dokumentation „TYPO3 Core API“ [1], diese ist aber für Anfänger relativ schlecht zu verdauen, da sie aus Sicht eines fortgeschrittenen TYPO3-Programmierers geschrieben ist, der eigentlich bereits über alle Details des TYPO3-Kerns Bescheid weiß. So gestaltet sich diese Dokumentation mehr wie eine technische Auflistung der verschiedenen Funktionen. Aber fangen wir einen Schritt davor an und erläutern erst einmal, welche Bereiche der API wie zusammenhängen.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!