Architektur und Request · Frage 2 von 12
In welcher Datei konfiguriert eine Extension ihre Services für die Dependency Injection?
1 Antwort ist richtig. Einfach
Lösung anzeigen
Lösung
- B Configuration/Services.yaml
Erklärung
Die Datei Configuration/Services.yaml (alternativ Services.php) legt fest, wie der Symfony-Container die Klassen der Extension behandelt. Typisch ist ein Block _defaults mit autowire: true, autoconfigure: true und public: false sowie ein Eintrag, der alle Klassen unter Classes/ als Services lädt und Datenobjekte wie Classes/Domain/Model/* ausschließt. Ohne diese Datei werden Konstruktor-Abhängigkeiten der Extension-Klassen nicht automatisch aufgelöst. Die composer.json wirkt verwandt, weil sie das Autoloading der Klassen regelt – sie sorgt aber nur dafür, dass PHP die Klassen findet, nicht dafür, dass sie als Services verdrahtet werden.