2017-02-10 2 views
0

Я хочу загрузить ghislainf/zf2-whoops только в среду разработки, но он говорит, что мне нужно сначала загрузить его (что означает application.config.php).ZF2 - Могу ли я сначала загружать модули из `development.config.php`?

Есть ли способ загрузить development.config.php модулей?

ОБНОВЛЕНИЕ:

Я загрузки переменных ENV использованием abacaphiliac/zend-phpdotenv, а это означает, что переменные Env еще не загружен к тому времени, application.config.php обрабатывается. По этой причине я не могу использовать динамическую загрузку на основе среды. Именно по этой причине я хотел сначала загрузить модули разработки.

ответ

1

Вы можете легко настроить различные файлы конфигурации для разных сред. Таким образом, одна конфигурация для развития и другая для продукции.

Это очень хорошо описано в Zend Framework documentation chapter called Advanced Configuration Tricks и более конкретно here in Environment-specific system configuration:

Хитрость они используют, чтобы установить глобальную переменную APP_ENV и установить его либо production или development.

<?php 
$env = getenv('APP_ENV') ?: 'production'; 

// Use the $env value to determine which modules to load 
$modules = array(
    'Application', 
); 
if ($env == 'development') { 
    $modules[] = 'ZendDeveloperTools'; 
} 

При использовании этого решения вы можете в каждой конфигурации загружать модули, которые вам нужны, в том порядке, в котором они вам нужны.

+0

Я обновил свой вопрос относительно этого подхода –

+0

@ Кристофер Франсиско вы прочитали документацию, о которой я упоминал в своем ответе? Вы можете установить переменные среды в файле htaccess. – Wilt

+0

Да, я знаю об этом. Мы следим за [12factor] (https://12factor.net/), поэтому мы загружаем переменные env с помощью dotenv. Однако я думаю, что мы могли бы использовать dotenv напрямую, а не модуль zf2 для него. –

Смежные вопросы