/** * @return Config */ public function getConfig() { if (is_null($this->configObj)) { $defaultConfig = $this->getDefaultConfig(); $globalConfig = $this->readConfig(self::GLOBAL_CONFIG); $localConfig = $this->readConfig(self::LOCAL_CONFIG); $config = ArrayUtils::mergeRecursive($defaultConfig, $globalConfig, $localConfig); $this->configObj = new Config($config); } return $this->configObj; }
public function joinRight(array $data) { $this->configRaw = ArrayUtils::mergeRecursive($this->configRaw, $data); $this->childConfig = []; }
public function readMenu() { $configDir = $this->getConfigDir(); $globalMenu = $this->readMenuRaw($configDir . "global.menu.php", []); $localMenu = $this->readMenuRaw($configDir . "local.menu.php", []); $moduleManager = $this->getModuleManager(); $modules = $moduleManager->getModulesList(); $menuConfig = []; foreach ($modules as $moduleName) { $modulePath = $moduleManager->getModulePath($moduleName); $moduleConfig = $this->readMenuRaw($modulePath . "/config/menu.php", null); if ($moduleConfig) { $menuConfig = array_merge_recursive($menuConfig, $moduleConfig); } } $menuConfig = ArrayUtils::mergeRecursive($menuConfig, $globalMenu, $localMenu); return $menuConfig; }
public function render($params = [], $templateName = null) { if (!is_null($templateName)) { $this->setTemplate($templateName); } $vars = $this->getAssignedVars(); $vars = ArrayUtils::mergeRecursive($vars, $params); $globalVars = $this->getGlobalVars(); $render = $this->getRender(); foreach ($globalVars as $name => $value) { $render->addGlobal($name, $value); } /** @var \Twig_Environment $template */ $template = $this->getTemplate(); $output = $render->render($template, $vars); return $output; }
public function getListArrayConfigs($fileConfigName, $recursiveMerge = false) { $modules = $this->getModulesList(); $configs = []; foreach ($modules as $module) { $path = $this->getModulePath($module); if (!$path) { throw new \Exception("Path for module {$module} not found"); } $configFile = $path . "/config/{$fileConfigName}.php"; if (!file_exists($configFile)) { continue; } $moduleResources = (include $configFile); if ($recursiveMerge) { $configs = ArrayUtils::mergeRecursive($configs, $moduleResources); } else { $configs = array_merge($configs, $moduleResources); } } return $configs; }