Est-ce que quelqu'un connaît un moyen de définir dynamiquement le module par défaut dans Zend Framework et de ne pas rencontrer les problèmes d'espace de noms? Par exemple, ce que je veux faire est d'avoir une table de modules qui sont autorisés à être chargés, avec l'un d'entre eux défini comme le module par défaut. Par exemple, je peux avoir:Module dynamique par défaut dans Zend Framework
admin
blog
calendar
comme des modules qui peuvent être chargés. Si j'ai 'blog' comme module par défaut, alors 'admin' et 'calendar' doivent avoir leurs noms de contrôleurs contrôlés (Admin_IndexController, Calendar_IndexController) alors que 'blog' n'est pas (IndexController).
Si je change de 'calendrier' pour être le module par défaut, ZF ne peut plus trouver les classes à cause de l'espace de noms.
Comment vous débrouillez-vous? J'utilise actuellement le code suivant:
$modules = new Modules();
$activeModules = $modules->fetchActive();
foreach($activeModules as $mod) {
$loadedModules[$mod->name] = '..application/modules/' . $mod->name . '/controllers';
if($mod->default) {
$defaultModule = $mod->name;
}
}
$frontController->setControllerDirectory($loadedModules);
$frontController->setDefaultModule($defaultModule);