Кто-нибудь знает, как динамически установить модуль по умолчанию в Zend Framework и избежать проблем с пространством имен? Например, я хочу иметь таблицу модулей, которым разрешено загружать, причем один из них установлен как модуль по умолчанию. Например, у меня может быть:
admin
blog
calendar
как модули, которые можно загрузить. Если у меня в качестве модуля по умолчанию используется «блог», тогда «администратор» и «календарь» должны иметь свои контроллеры в пространстве имен (Admin_IndexController, Calendar_IndexController), а «блог» - нет (IndexController).
Если я изменю «календарь» на модуль по умолчанию, ZF больше не сможет находить классы из-за пространства имен.
Как это обойти? В настоящее время я использую следующий код:
$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);