---
title: TYPO3 verwendet den Dependency-Injection-Container von Symfony in v10
url: "https://b13.com/de/wissen/wir-lieben-dependency-injection-in-typo3-v10"
description: Dependency Injection in TYPO3 v10 macht es einfacher, Code zu pflegen, zu testen, zu lesen und zu erweitern. Ein weiterer Grund, auf die neueste Version zu aktualisieren.
image: "https://b13.com/fileadmin/_processed_/7/6/csm_dependency-injections_191-1_07a143d8fa.png"
date: 2020-06-16
modified: 2026-08-19
lastUpdated: 2026-08-19
---

# TYPO3 verwendet den Dependency-Injection-Container von Symfony in v10

[ TYPO3v10 ](https://b13.com/de/wissen/typo3v10)

 Wir lieben Dependency Injection in TYPO3 v10
==============================================

![](https://b13.com/fileadmin/_processed_/d/e/csm_daniel_goerz_2eed6f34a2.jpg)Daniel Goerz

  17. Juni 2020

 [ RSS Feed ](https://b13.com/de/rss.xml)

  ![Eine Person in einem gelben Hemd mit der Aufschrift "INJECTOR" gießt Flüssigkeit aus zwei Flaschen in ein Glas, umgeben von einer Kulisse aus verschiedenen Flaschen.](https://b13.com/fileadmin/_processed_/f/1/csm_dependency-injections_a7619f741c.webp)

Dependency Injection (DI) führt zu Code, den man besser warten, testen, lesen und erweitern kann. Bisher war DI in TYPO3 nur im Extbase-Kontext verfügbar, nicht jedoch im restlichen Core. Mit TYPO3 v10 hat sich das geändert. Ab jetzt ist die symfony DI-Komponente Teil des Cores. Ein weiterer Grund, Projekte auf die neueste TYPO3-Version zu aktualisieren.

   Was ist Dependency Injection?
-------------------------------

DI ist ein weit verbreitetes Konzept aus der Software-Architektur. Im Kern geht es um das Management und die Struktur der Abhängigkeiten von Objekten untereinander. Muss eine Anwendung beispielsweise einen Newsletter verschicken, so sollte der Anwendungsteil, der für den Newsletter zuständig, ist nicht die konkrete Transportmethode hardcoden, sondern hierfür eine Abhängigkeit definieren, die beim Instanzieren des Objektes aufgelöst wird. Die Abhängigkeiten werden also zur Laufzeit „injected“. So ist es zu einem späteren Zeitpunkt möglich, die Versandart zu wechseln, indem ein anderer Mailservice verwendet wird, ohne dass die Applikation umgeschrieben werden muss.

  ![Diagramm, das ein Konzept der Abhängigkeitsinjektion veranschaulicht, mit einem "INJEKTOR" an der Spitze. Pfeile zeigen an, dass er Abhängigkeiten in "KLASSE A" und "KLASSE B" injiziert, wobei "KLASSE A" "KLASSE B" verwendet.](https://b13.com/fileadmin/_processed_/6/0/csm_DI-figure_e5955d7e06.webp)

   Separation of concerns — mache nur einen Job, den aber gut
------------------------------------------------------------

DI ist Teil eines anderen Patterns: „Separation of Concerns“ (auf deutsch vielleicht „Abgrenzung von Zuständigkeiten“), welches besagt, dass Services und Objekte immer nur eine einzige, klar definierte Aufgabe erledigen sollten. So kann man bei großen Anwendungen komplexe Abläufe in kleine, gut verdauliche Häppchen aufteilen.

Ein weitere Vorteil von DI ist, dass es einfacher wird, Tests für die Anwendung zu schreiben, mittels der Technik des sogenannten „Mockings“ (auf deutsch vielleicht „nachahmen“). Dabei werden Abhängigkeiten des zu testenden Objekts mit ihren Antworten in unterschiedlichen Szenarien simuliert. Um beim Newsletter-Beispiel zu bleiben: Es ist nicht notwendig tatsächlich eine E-Mail zu versenden um das Verhalten der Anwendung im Falle eines gescheiterten E-Mail-Versandes zu testen. Statt dessen injectet man anstelle der E-Mail-Transport-Abhängigkeit einfach einen „Mock“, ein Dummy-Objekt, welches den Fehlerfall simuliert.

Wie bereits erwähnt, macht DI es leichter, Komponenten auszutauschen, ohne dabei ganze Teile der Anwendung neu schreiben zu müssen. DI ermöglicht grundsätzlich saubereres Programmieren.

   Symfony-Komponenten flachen TYPO3s Lernkurve ab
-------------------------------------------------

Entscheidend bei der Einführung von DI im gesamten TYPO3 Core ist die Tatsache, dass wir bewusst auf die bereits existierende symfony DI-Komponente gesetzt haben und nicht die Eigenimplementierung, die wir aus Extbase kennen, auf den restlichen Core ausgedehnt haben. Dies hat mehrere Vorteile: Es erweitert den Kreis der Entwicklerinnen, die bereits Erfahrung mit der Technologie haben, da Symfony-Komponenten in der PHP-Welt weit verbreitet sind und große Popularität genießen. Dies sollte es Agenturen leichter machen, Entwicklerinnen zu finden und für Neueinsteigerinnen ist die Lernkurve flacher. Außerdem ist die Symfony-Komponente bereits vorbildlich [dokumentiert](https://symfony.com/doc/current/components/dependency_injection.html).

Das Rad nicht neu zu erfinden und auf eine bewährte Lösung zu setzen, ermöglicht es der TYPO3-Community außerdem, sich mehr der Entwicklung der CMS-Aspekte von TYPO3 zu widmen und sich nicht auch noch um eine eigene Implementierung eines gelösten Problems kümmern zu müssen.

   DI in b13 Projekten
---------------------

Die neuen Möglichkeiten der DI-Komponente setzen wir bei b13 bereits in mehreren Projekten ein. In einem Projekt habe ich beispielsweise den CacheManager als Factory in der Services.yaml konfiguriert, damit ich das bereits fertig aufgelöste Cache-Frontend in meinen Controller injecten konnte. Wer sich für die Details interessiert kann diese in einem (englischsprachigen) [Blog-Artikel](https://usetypo3.com/di-and-events-example.html) nachlesen.

   Worauf wartet ihr? Zeit auf v10 zu upgraden
---------------------------------------------

Der Core wird die neuen DI-Konzepte nach und nach an immer mehr Stellen einsetzen. Auch Extensions können die neuen Vorteile bereits nutzen und die Extbase DI hinter sich lassen. Denn irgendwann wird die Extbase DI sicherlich komplett verschwinden, da es wenig Sinn macht, langfristig zwei Lösungen für dasselbe Problem bereitzustellen. Es ist also eine gute Idee, neuen Code bereits auf der v10 zu schreiben um zukunftssicher unterwegs zu sein.

Dependency Injection ist ein weiteres Beispiel dafür, dass TYPO3 mehr und mehr auf Standards setzt und eine „state-of-the-art“ Entwicklung ermöglicht. Upgradet also so schnell wie möglich. Ihr macht damit eure Entwicklerinnen, Redakteurinnen und Kundinnen glücklich und müsst später nicht so viel Code umbauen!

   Kontaktiere uns für ein Upgrade auf TYPO3 v10
-----------------------------------------------

 [ Let’s connect ](https://b13.com/de/kontakt)

  ###  Geschrieben von:

 ![Ein Mann mit Brille und Schirmmütze lächelt, trägt einen dunklen Hoodie und steht vor einem verschwommenen Innenhintergrund.](https://b13.com/fileadmin/_processed_/d/e/csm_daniel_goerz_9a279a5f6a.webp)

Daniel ist aus unserem Arbeitsalltag nicht mehr wegzudenken, seit er 2018 remote aus Berlin zu uns stieß. Wenn er sich nicht gerade einem seiner geekigen Hobbys widmet, ist er normalerweise gerade dabei irgendwo jemandem zu helfen. Daniel kann nicht ohne: Internet

 Daniel Goerz  Development

 [ mehr von Daniel Goerz ](https://b13.com/de/team/daniel-goerz)

  Ähnliche Artikel
------------------

- ![Ein gelbes Benutzeroberflächenpanel mit mehreren Abschnitten und Reitern, vor einem dunkelgrünen Hintergrund mit abstrakten Formen und Zahnrädern. Das Panel enthält Platzhalter für Text und Kontrollkästchen.](https://b13.com/fileadmin/_processed_/9/e/csm_Dashboard_63f98a27c9.webp)

    ###  Optimiere deinen täglichen Workflow mit dem TYPO3 Dashboard

     30. März 2021 | Oliver Bartsch

     Das TYPO3 Dashboard ist auf maximale Erweiterbarkeit ausgerichtet. Entdecke die Vorteile, wirf einen Blick unter die Haube und finde heraus, wie du deine eigenen Widgets erstellen…

     [ weiterlesen: Optimiere deinen täglichen Workflow mit dem TYPO3 Dashboard ](https://b13.com/de/wissen/optimiere-deinen-taeglichen-workflow-mit-dem-typo3-dashboard)
- ![Drei stilisierte Schnecken in lebhaften Farben sind vor einem dunklen lila Hintergrund abgebildet, umgeben von abstrakten Formen und grasähnlichen Elementen. Die Schnecken haben auffällige Augen und langgestreckte Körper, was eine verspielte Unterwasserszene schafft.](https://b13.com/fileadmin/_processed_/e/6/csm_slugs_17a8ee1543.webp)

    ###  SEO Marketing — automatische Slug Updates und Erstellung von Redirects

     08. Dezember 2020

     TYPO3 hat einige wichtige Verbesserungen für das Site-Handling in v9 und v10 vorgenommen. Wir haben eine kleine Erklärung zu den Neuerungen geschrieben, einschließlich der Änderung…

     [ weiterlesen: SEO Marketing — automatische Slug Updates und Erstellung von Redirects ](https://b13.com/de/wissen/auto-slug-update-typo3-v10)
- ![Eine Person, die eine Baskenmütze und einen fransigen Poncho trägt, winkt einem Dampflokzug zum Abschied, umgeben von stilisiertem Rauch und einem dunklen Hintergrund.](https://b13.com/fileadmin/_processed_/3/c/csm_Deprecations_f2863dfb8d.webp)

    ###  Die besten Deprecations und Breaking Changes in TYPO3 v10

     18. August 2020 | Michael Semle

     Diese Änderungen sorgen dafür, dass TYPO3 großartig bleibt. Sie sind die Mühe wert, sich darauf einzustellen!

     [ weiterlesen: Die besten Deprecations und Breaking Changes in TYPO3 v10 ](https://b13.com/de/wissen/die-besten-deprecations-und-breaking-changes-in-typo3-v10)
- ![Eine Person hält zwei große Schilder, auf denen das Wort "EVENT" in fetten Buchstaben steht. Die Figur ist stilisiert mit einem vereinfachten Design und einer warmen Farbpalette, vor einem lebhaften Hintergrund.](https://b13.com/fileadmin/_processed_/6/4/csm_event-dispatcher_22da41c4ee.webp)

    ###  Noch eine Sache, die wir an TYPO3 v10 lieben: Der PSR-14 Event-Dispatcher

     11. August 2020 | Daniel Goerz

     Es ist nun einfacher, TYPO3-Code von Drittanbietern zu erweitern. Sowohl für Anfänger als auch für erfahrene Entwickler. Ein weiterer Grund für ein Upgrade.

     [ weiterlesen: Noch eine Sache, die wir an TYPO3 v10 lieben: Der PSR-14 Event-Dispatcher ](https://b13.com/de/wissen/psr-14-event-dispatcher-in-typo3-v10)
- ![Ein stilisierter Flamingo schwebt in einem Pool mit einem Getränk im Flügel, umgeben von abstrakten Formen und tropischen Blättern. Die Farbpalette umfasst tiefe Violetttöne und sanfte Pastellfarben.](https://b13.com/fileadmin/_processed_/9/e/csm_Lazy_Images_faf015e156.webp)

    ###  Lazy loading in TYPO3 v10: noch einfacher

     28. Juli 2020 | Daniel Sattler

     Erfahre mehr darüber, wie TYPO3 v10 kürzere Seitenladezeiten erreicht und durch browsernatives Lazy Loading von Bildern weniger Bandbreite benötigt — und das ohne JavaScript!

     [ weiterlesen: Lazy loading in TYPO3 v10: noch einfacher ](https://b13.com/de/wissen/lazy-loading-in-typo3-v10-noch-einfacher)
- ![Eine Person steht mit einem fragenden Ausdruck neben einem verschlossenen Vorhängeschloss und einem Passwortfeld, umgeben von stilisierten Schlüsseln und abstrakten Formen, die Sicherheit und Zugangsherausforderungen symbolisieren.](https://b13.com/fileadmin/_processed_/8/9/csm_Forgot_Password_bcd4ae8edd.webp)

    ###  Der TYPO3-Passwort Reset — sicherer, bequemer und effizient

     01. Juli 2020 | Daniel Gorges

     Redakteure können ihr Passwort sicher zurücksetzen, ohne sich an einen Admin wenden zu müssen. Ein weiterer Grund, auf die neueste Version zu aktualisieren.

     [ weiterlesen: Der TYPO3-Passwort Reset — sicherer, bequemer und effizient ](https://b13.com/de/wissen/der-typo3-passwort-reset-sicherer-bequemer-und-effizient)
- ![Ein offener Umschlag mit einem orangefarbenen Brief, der daraus hervorragt, umgeben von verschiedenen E-Mail-Icons und abstrakten Formen auf einem dunklen Hintergrund.](https://b13.com/fileadmin/_processed_/f/3/csm_Emails_28e5a2c0d7.webp)

    ###  HTML-E-Mails und mehrere Empfänger als Core-Funktion

     25. Juni 2020 | Michael Semle

     HTML-E-Mails sehen toll aus, sind besser lesbar und entsprechen Ihrem Corporate Design. Ein weiterer Grund für ein Upgrade auf TYPO3 v10.

     [ weiterlesen: HTML-E-Mails und mehrere Empfänger als Core-Funktion ](https://b13.com/de/wissen/html-e-mails-in-typo3-v10)
- ![Zwei Paare stilisierter Figuren stehen nebeneinander vor einem bunten abstrakten Hintergrund. Das linke Paar zeigt einen Mann und eine Frau mit lockigem Haar, während das rechte Paar einen weiteren Mann und eine Frau umfasst, die beide unterschiedliche Frisuren haben.](https://b13.com/fileadmin/_processed_/0/d/csm_Comparing_User_Groups_8abbafea8e.webp)

    ###  Neu in TYPO3 v10: Vergleichen von Redakteursgruppen im Backend

     09. Juni 2020 | Desirée Lochner

     Kriege Deine Backend-Nutzergruppen in den Griff, in dem Du sie vergleichst. Noch ein guter Grund, auf TYPO3 v10 upzugraden!

     [ weiterlesen: Neu in TYPO3 v10: Vergleichen von Redakteursgruppen im Backend ](https://b13.com/de/wissen/vergleichen-von-redakteursgruppen-in-typo3)
- ![Eine Person sitzt an einem Tisch mit hochgelegten Füßen und nutzt einen Laptop. Im Hintergrund sind schwebende Chatblasen und eine Grafik einer Landschaft zu sehen, die auf Online-Kommunikation und digitale Inhaltserstellung hindeuten.](https://b13.com/fileadmin/_processed_/1/7/csm_Create_Content_Elements_0904390bfe.webp)

    ###  Ein Klick genügt — wie Du jetzt beim Hinzufügen von TYPO3-Elementen Zeit sparst

     03. Juni 2020 | David Steeb

     TYPO3 v10 spart Zeit und reduziert Klicks für Redakteure: Ein einziger Klick genügt, um nicht individuell konfigurierbare Inhaltselemente hinzuzufügen. Ein weiterer Grund für ein…

     [ weiterlesen: Ein Klick genügt — wie Du jetzt beim Hinzufügen von TYPO3-Elementen Zeit sparst ](https://b13.com/de/wissen/direktes-speichern-von-neuen-inhaltselementen-in-typo3)
- ![Die Zahl "13" ist auffällig in einer stilisierten Schriftart dargestellt, begleitet von abstrakten Formen, Kreisen und Codesymbolen in einem Grün- und Orangeton.](https://b13.com/fileadmin/_processed_/9/b/csm_13-Things_215bb3d4bc.webp)

    ###  13 kleine Dinge die wir an TYPO3 v10 lieben

     22. April 2020 | Benni Mack

     Hier sind 13 unserer Highlights von kleinen, aber nützlichen Verbesserungen in TYPO3 CMS Version 10, die unser Arbeitsleben alle ein kleines bisschen besser machen.

     [ weiterlesen: 13 kleine Dinge die wir an TYPO3 v10 lieben ](https://b13.com/de/wissen/13-kleine-dinge-die-wir-an-typo3-v10-lieben)