ZF2: как реализовать различные конфигурации для производства, постановки и т.д.?
В приложении sceleton, которое я загрузил из github, есть файл
модуль/Application/конфигурация/module.config.php
return array(
'layout' => 'layout/layout.phtml',
'display_exceptions' => true,
'di' => array(
'instance' => array(
'alias' => array(....
этот файл используется в модуле /Application/module.php:
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
Как создать 3 разных конфигурации в зависимости от домена (производство, постановка, разработка)? Кажется, в ZF1 env vars используется, но я не знаю, как это сделать в модуле zf2.
Спасибо!
Ответы
Ответ 1
Создайте файл с именем development.config.php
в application/config/autoload
, и он будет загружен после загрузки всех файлов конфигурации модулей. В результате вы можете переопределить все объединенные конфигурации, добавив соответствующие ключи к этому файлу.
Имя загруженного файла {APPLICATION_ENV}.config.php
, поэтому вы можете создать production.config.php
и т.д.
Обратите внимание, что вам может потребоваться изменить glob в index.php
, поскольку неясно, будет ли приложение Skeleton работать из коробки с APPLICATION_ENV или нет на этом этапе разработки ZF2 (начало апреля 2012 года).
Ответ 2
он работает с простым изменением .htaccess.
SetEnv APPLICATION_ENV development
Я не знаю, будет ли работа работать, но производство и разработка работают из коробки.
Я думаю, что это работает через слушателя событий, но не спрашивайте меня, как я еще не получил этого.