PHP und Autoloading · Frage 8 von 12
Wo legt man in einer Composer-basierten TYPO3-Installation fest, in welchem Verzeichnis die Klassen des Namespace einer Extension liegen?
1 Antwort ist richtig. Einfach
Lösung anzeigen
Lösung
- B Im Abschnitt autoload der composer.json der Extension
Erklärung
Das Namespace-Mapping gehört in die composer.json der Extension, zum Beispiel "autoload": {"psr-4": {"MyVendor\. Composer liest diese Angabe beim Installieren und nimmt sie in den Projekt-Autoloader auf; nach nachträglichen Änderungen am Mapping ist composer dump-autoload nötig. Die Services.yaml steuert dagegen die Dependency Injection, also welche Klassen als Services konfiguriert werden – sie setzt ein funktionierendes Autoloading bereits voraus. ext_localconf.php und settings.php enthalten Laufzeitkonfiguration, keine Angaben für den Autoloader.