2015-08-08 3 views
3

В файле Bolt documentation упоминается настройка файлов конфигурации для каждой среды, но не объясняется, как это сделать.Настройка конфигурации болта в среде

Если у вас несколько сред для одного и того же сайта, например, разработка, создание или производство, вы хотите, чтобы части конфигурации были одинаковыми, а некоторые разные для среды. Вероятно, у вас будут разные настройки базы данных и отладки. Это может быть выполнено путем разбиения файла config.yml. Поместите все настройки, которые вы используете во всех средах по умолчанию config.yml, вы можете зафиксировать это в своей системе управления версиями, если захотите. Каждый параметр, который отличается от среды, или которую вы не хотите в управлении версиями (например, информация о базе данных), вы вставляете в config_local.yml. Загружается первая config.yml, а затем config_local.yml, так что config_local.yml может переопределять любые настройки в config.yml.

Конечно, у меня нет проблем с созданием дополнительного файла конфигурации, но как сообщить Bolt, в какой среде он работает, и какой файл он должен загружать?

ответ

3

Оказалось, что болт полностью не знает об окружающей среде. Он всегда загружает config.yml, за которым следует config_local.yml, независимо от имени домена.

из config.php, начиная с линии 226:

protected function parseGeneral() 
{ 
    // Read the config and merge it. (note: We use temp variables to prevent 
    // "Only variables should be passed by reference") 
    $tempconfig = $this->parseConfigYaml('config.yml'); 
    $tempconfiglocal = $this->parseConfigYaml('config_local.yml'); 
    $general = Arr::mergeRecursiveDistinct($tempconfig, $tempconfiglocal); 

Решение моей проблемы никогда не позволит config_local.yml получить развернутый.

2

Файл config_local.yml предназначен для разработки, чтобы вы могли переопределить параметры конфигурации, которые могут быть привязаны к вашей VCS при производстве.