Zf2 Установить новые значения конфигурации

Я ищу возможность переопределить существующие значения конфигурации с новыми во время выполнения.

Так что вот так было бы неплохо

$this->serviceLocator->set('Config', $this->config);

Есть способ сделать это?

0

Решение

Да, вы можете сделать это. Должны ли вы сделать это, это целый вопрос. Так:

$this->serviceLocator->setAllowOverride(true);
// service keys are case insensitive
// just remember that $this->config should contain the whole config
$this->serviceLocator->setService('Config', $this->config);
$this->serviceLocator->setAllowOverride(false);

За setService для работы нужно переключить флаг под названием allowOverride, Ты это видишь Вот. После этого вы, вероятно, должны отключить переопределения, следовательно, еще один вызов setAllowOverride,

Также: ты можешь зацепиться за EVENT_MERGE_CONFIG и изменить его там.

7

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

Существующие значения конфигурации могут быть просто переопределены путем пользовательской установки их внутри config.php файл в папке config ваших модулей. Вам не нужно делать это с помощью ServiceLocator, Массив в этом файле является глобальным массивом. Ключи в массиве будут перезаписаны в том порядке, в котором вы загружаете свои модули.

0

По вопросам рекламы [email protected]