yupe\components\ConfigManager::mergeSettings PHP Метод

mergeSettings() публичный Метод

Сливаем настройки, кешируем и отдаём приложению:
public mergeSettings ( array $settings = [] ) : array
$settings array - входящие настройки
Результат array - настройки приложения
    public function mergeSettings($settings = [])
    {
        $this->_config = CMap::mergeArray($this->_base, ['preload' => CMap::mergeArray(isset($this->_config['preload']) ? $this->_config['preload'] : [], isset($settings['preload']) ? $settings['preload'] : []), 'import' => CMap::mergeArray(isset($this->_config['import']) ? $this->_config['import'] : [], isset($settings['import']) ? $settings['import'] : []), 'modules' => CMap::mergeArray(isset($this->_config['modules']) ? $this->_config['modules'] : [], isset($settings['modules']) ? $settings['modules'] : []), 'components' => CMap::mergeArray(isset($this->_config['components']) ? $this->_config['components'] : [], isset($settings['component']) ? $settings['component'] : []), 'aliases' => CMap::mergeArray(isset($this->_config['aliases']) ? $this->_config['aliases'] : [], isset($settings['aliases']) ? $settings['aliases'] : []), 'behaviors' => CMap::mergeArray(isset($this->_config['behaviors']) ? $this->_config['behaviors'] : [], isset($settings['behaviors']) ? $settings['behaviors'] : []), 'commandMap' => CMap::mergeArray(isset($this->_config['commandMap']) ? $this->_config['commandMap'] : [], isset($settings['commandMap']) ? $settings['commandMap'] : [])]);
        if ($this->env == self::ENV_WEB) {
            unset($this->_config['commandMap']);
        }
        if (!array_key_exists('rules', $settings)) {
            $settings['rules'] = [];
        }
        if (!array_key_exists('cache', $settings)) {
            $settings['cache'] = [];
        }
        if (isset($this->_config['components']['urlManager']['rules'])) {
            // Фикс для настроек маршрутизации:
            $this->_config['components']['urlManager']['rules'] = CMap::mergeArray($this->_config['components']['urlManager']['rules'], $settings['rules']);
        }
        if (isset($this->_config['components']['cache'])) {
            // Слитие настроек для компонента кеширования:
            $this->_config['components']['cache'] = CMap::mergeArray($this->_config['components']['cache'], $settings['cache']);
        }
        // Создание кеша настроек:
        if (($error = $this->dumpSettings()) !== true) {
            throw new Exception($error->getMessage());
        }
        return $this->_config;
    }