Example #1
0
 /**
  * {@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']);
 }