Czy ktoś wie o sposobie, aby ustawić moduł domyślny dynamicznie w Zend Framework i nie napotkać problemów przestrzeni nazw? Na przykład, chcę utworzyć tabelę modułów, które mogą być ładowane, a jeden z nich jest ustawiony jako moduł domyślny. Na przykład, mogę mieć:Dynamiczny moduł domyślny w Zend Framework
jako moduły, które można załadować. Jeśli mam "blog" jako domyślny moduł, to "admin" i "calendar" muszą mieć przypisane nazwy kontrolerów (Admin_IndexController, Calendar_IndexController), podczas gdy "blog" nie jest (IndexController).
Jeśli zmienię "kalendarz" na moduł domyślny, ZF nie może już znaleźć klas ze względu na obszar nazw.
Jak sobie z tym poradzić? Obecnie używam następujący kod:
$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);