/** * {@inheritdoc} */ public static function configure(\Pimple $app, $appPath, $libPath, $env = '', $user = '', $sapi = '', $cache = false) { $configCacheHash = $cache ? implode('.', array($appPath, $libPath, $env, $user, $sapi)) : ''; $config = $cache ? Generic::getConfigCache($configCacheHash) : false; if (!$config) { //@TODO: allow not just json to be loaded $configPath = realpath(sprintf('%s/config/user/%s.json', $appPath, $user)); if (!$configPath) { $configPath = realpath(sprintf('%s/config/env/%s.json', $appPath, $env)); if (!$configPath) { $configPath = realpath(sprintf('%s/config/app.json', $appPath, $sapi)); } } $config = array('core' => array('user' => $user, 'env' => $env, 'sapi' => $sapi, 'appPath' => $appPath, 'libPath' => $libPath, 'configPath' => $configPath)); if (file_exists($configPath)) { $loadedConfig = Config::load($configPath, $config['core']); $loadedConfig['core'] = array_merge($loadedConfig['core'], $config['core']); $config = $loadedConfig; } if ($cache) { Generic::setConfigCache($configCacheHash, $config); } else { Generic::clearConfigCache(); } } Config::configurePimple($app, $config); return $config; }
public function stestSettingsConfigAsServiceDependency() { $pimple = new \Pimple(); $config = Config::load(self::$config_test_tmp_dir . '/settings.json'); Config::configurePimple($pimple, $config); $service = $pimple['dummy']; $this->assertEquals($service->value, $config['settings']['param']); }