Modul erstellen unter Oxid 6 für Dummies

Composer kopiert erstmal in das vendor-directory, von da aus kopiert das OXID-Composer-Plugin Teile in das source-Verzeichnis, unter anderem Module.

Der Composer-Autoloader muss den Namespace des Moduls kennen, dazu braucht er eine Zuordnung Namespace zu Modulpfad (psr-4). Bei der Installation über Github/Packagist holt er sich das automatisch aus der composer.json des Moduls. Weil diese dann im Verzeichnis /vendor/vendor_name/module_name liegt, schaut der Pfad dort so aus:

"../../../source/modules/vendor_name/module_name"

Also rauf bis zum root und dann in source/modules etc.
Während der Entwicklung liegt das Modul ja noch in keinem Repository sondern nur unter /source/modules. Dann kann man den Pfad manuell in der composer.json des Projekts, also der im root des Shops eintragen, und “composer dump-autoload” ausführen: https://docs.oxid-esales.com/developer/en/6.1/modules/good_practices/module_setup.html
Weil diese composer.json im Rootverzeichnis liegt, schaut der Pfad so aus:

"./source/modules/vendor_name/module_name"

Nach “composer dump-autoload” kennt der Autoloader das Modul und findet die Klassen in den Unterordnern automatisch.