/** * Loads additioanl configuration and closes the config. * * @param string $root Framework root dir * @param string $configType Config type * @param array $loadedConfig Config that is already loaded * @return array Loaded configuration */ private function loadAdditionalConfig($root, $configType, array $loadedConfig) { $this->loadClassCheckInterface('config', 'Framework\\Core\\FrameworkClasses\\Configuration\\IConfig'); $configLoader = new ConfigLoader($configType); $phpConfigLocation = null; $dbObj = null; if ($configType == ConfigLocations::PHP_FILE) { $phpConfigLocation = $root . 'config/'; } else { if ($configType == ConfigLocations::DB) { $phpConfigLocation = $root . 'config/'; $dbFactory = new DbFactory(array('sf_db' => $loadedConfig['config_db'])); $dbObj = $dbFactory->GetDbInstance('sf_db'); } } $this->config = new Config('SF Global', $loadedConfig, $dbObj); $newConfigFields = $configLoader->loadConfiguration($phpConfigLocation, $loadedConfig, $dbObj); $this->config->addMultipleConfigValues($newConfigFields); }