Typo3 Composer mode: Autoloading bei lokalen Extensions

Im Composer mode werden die Autoload-Einträge der composer.json Dateien in den Extensions geladen. Dies allerdings nur, wenn diese auch über Composer installiert wurden.

Die sauberste Lösung ist nun für die lokalen Extensions ein lokales Repository anzulegen und die Extensions dann daraus mit Composer zu installieren. Tut man dies nicht, wird man vermutlich auf folgenden Fehler stoßen:

Expected to find class "Vendor\Extension\Class" in file "/.../ext/extension/Classes/Class.php" while importing services from resource "../Classes/*", but it was not found! Check the namespace prefix used with the resource. 

Damit nun auch die Daten der lokalen Extension geladen werden, füge ich zur composer.json im Root-Verzeichnis folgendes hinzu:

"autoload": {
	"psr-4": {
		"Vendor\\Extension\\": "public/typo3conf/ext/extension/Classes"
	}
}

Danach führe ich composer dumpautoload aus und die Klassen werden wie gewünscht geladen.

schneidewind.it

Oberdorfstr. 1
78247 Hilzingen-Duchtlingen
Deutschland

Tel.: +49 (0) 7731 5959 441
E-Mail: info@schneidewind.it

Mitglied im Unternehmer-Netzwerk BNI:
BNI - Business Network International