Modules und der Composer-Autoloader

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.
User annonyme 2017-02-15 16:51

write comment:
Four + = 8

Möchtest Du AdSense-Werbung erlauben und mir damit helfen die laufenden Kosten des Blogs tragen zu können?