Я изо всех сил пытался справиться с реализацией многомодульного приложения ZF.Я нашел целую кучу ресурсов о многомодульных приложениях, и тот факт, что в ZF
Я придумала решение, которое работает и допускает многомодульную изолированную начальную загрузку, но я хотел бы получить некоторую информацию от некоторых гуру ZF о том, есть ли потенциально непредвиденные обстоятельства, которые делают это таким образом..
Базовый домен - example.org.У меня также есть admin.example.org, dashboard.example.org и api.example.org.Я хочу, чтобы каждый из этих поддоменов отображался в свой одноименный модуль (администратор поддоменов сопоставляется с модулем admin и т. Д.).Я настраиваю виртуальный хост Apache с поддоменами как serveraliases.
Затем я также определяю следующее:
SetEnvIf Host ^admin* MODULE_TO_USE=admin
Затем в index.php у меня есть следующее:
/** Zend_Config_Ini */
require_once 'Zend/Config/Ini.php';
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
$config = $config->toArray();
$module = $config['resources']['frontController']['defaultModule'];
if(getenv('MODULE_TO_USE')) {
$module = getenv('MODULE_TO_USE');
$config['resources']['frontController']['defaultModule'] = $module;
}
$module = ucfirst($module);
$config['bootstrap']['path'] = APPLICATION_PATH . "/{$module}_Bootstrap.php";
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
$config
);
$application->bootstrap()
->run();
Тогда вместо обычного файла Bootstrap.php у меня есть Default_Bootstrap.php, Admin_Bootstrap.php и т. Д. И т. Д. Насколько я понимаю, потому что в этом случае модули отображаются непосредственно на поддоменах,тогда использование логики для проверки именованных поддоменов в conf виртуального хоста (или, если на то пошло, .htaccess) не должно ничего сломать.Но я не гуру ZF, поэтому я не уверен.
Буду признателен за любые отзывы.
(Примечание: я знаю, что они не являются «настоящими» поддоменами, а просто псевдонимами серверов, но я назвал их поддоменами для помощи в будущих поисках, так как большинство людей будут искать «поддомены», а не «serveralises ")