Man kann nicht nur über die composer.json den Autoloader befüllen. Wenn man z.B. Module hat die nicht über den
Composer installiert werden sondern aus einem Verzeichnis geladen werden, müsste man die Einträge per Hand vornehmen, was aber nicht wirklich ideal ist.
$autoloader = require_once("../vendor/autoload.php");
foreach(ModuleFactory->getModuleList("modules/") as $module){
if(is_dir($module->getPath() . "/deploy/classes")){
$autoloader->addPsr4($module->getName()."\", $module->getPath() . "/deploy/classes");
}
}
Damit kann schnell und einfach alle Klassen des Modules hinzufügen und muss keinen eigenen ClassLoader schreiben.
Es ist natürlich langsamer als die über "dump-autoload" angelegten Mappings, aber dafür auch sehr viel flexibler.