Настройка конфигурации болта для каждой среды

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

Если у вас есть несколько сред для одного сайта, таких как разработка, подготовка или производство, вы захотите, чтобы части конфигурации были одинаковыми, а некоторые — разными для каждой среды. Вы, вероятно, будете иметь другую информацию базы данных и настройки отладки. Это может быть достигнуто путем разделения файла 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 быть развернутым.

3

Другие решения

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

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector