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

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

Готовим настройки приложения:
public prepareSettings ( ) : array
Результат array - настройки приложения
    public function prepareSettings()
    {
        $settings = [];
        // Запускаем цикл обработки, шагая по конфигурационным файлам
        // сливая их с пользовательскими настройками модулей
        foreach (new GlobIterator($this->modulePath . '/*.php') as $item) {
            // Если нет такого модуля, нет необходимости в обработке:
            if (is_dir($this->appModules . '/' . $item->getBaseName('.php')) == false) {
                continue;
            }
            $moduleConfig = (require $item->getRealPath());
            // Файл пользовательских настроек:
            $userspace = new SplFileInfo($this->userspacePath . '/' . $item->getFileName());
            // При наличии файла, сливаем с основным:
            if ($userspace->isFile()) {
                $moduleConfig = CMap::mergeArray($moduleConfig, require $userspace->getRealPath());
            }
            // Просматриваем основные настройки для
            // слияния:
            foreach ($this->configCategories as $category) {
                switch ($category) {
                    case 'modules':
                        if (!empty($moduleConfig['module'])) {
                            $settings['modules'] = CMap::mergeArray(isset($settings['modules']) ? $settings['modules'] : [], [$item->getBaseName('.php') => $moduleConfig['module']]);
                        }
                        break;
                    case 'commandMap':
                        // commandMap заполняем только для консоли
                        if ($this->env !== self::ENV_CONSOLE) {
                            continue;
                        }
                    default:
                        // Стандартное слитие:
                        if (!empty($moduleConfig[$category])) {
                            $settings[$category] = CMap::mergeArray(isset($settings[$category]) ? $settings[$category] : [], $moduleConfig[$category]);
                        }
                        break;
                }
            }
        }
        return CMap::mergeArray($this->mergeSettings($settings), is_file($this->basePath . '/config/main-local.php') ? require $this->basePath . '/config/main-local.php' : []);
    }