ZF2: как реализовать разные конфиги для производства, постановки и т. Д.? - PullRequest
11 голосов
/ 24 марта 2012

В приложении Sceleton, которое я скачал с github, есть файл модуль / Application / конфигурации / module.config.php

return array(
    'layout'                => 'layout/layout.phtml',
    'display_exceptions'    => true,
    'di'                    => array(
        'instance' => array(
        'alias' => array(....

этот файл используется в файле module / Application / module.php:

public function getConfig()
{
    return include __DIR__ . '/config/module.config.php';
}

Как создать 3 разных конфига в зависимости от домена (производство, подготовка, разработка)? Кажется, в ZF1 env vars был использован, но я не знаю, как это сделать в модуле zf2. Спасибо!

Ответы [ 2 ]

9 голосов
/ 26 марта 2012

Создайте файл с именем development.config.php в application/config/autoload, и он будет загружен после загрузки всех файлов конфигурации модулей. В результате вы можете переопределить что-либо в объединенной конфигурации, добавив соответствующие ключи в этот файл.

Имя загруженного файла {APPLICATION_ENV}.config.php, поэтому вы можете создать production.config.php и т. Д.

Обратите внимание, что вам, возможно, придется изменить глобус в index.php, так как неясно, будет ли приложение Skeleton работать из коробки с APPLICATION_ENV или нет на данном этапе разработки ZF2 (начало апреля 2012 г.).

4 голосов
/ 24 марта 2012

, похоже, работает с простым изменением .htaccess. :

SetEnv APPLICATION_ENV development

Не знаю, сработает ли постановка, но производство и разработка работают из коробки. Я думаю, что это работает через слушателя событий, но не спрашивайте меня, как, я еще не дошел до этого.

...