Кто-нибудь знает, как динамически устанавливать модуль по умолчанию в 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);