Exemplo n.º 1
0
 /**
  * Load configuration from all files.
  *
  * @param string $stage Configuration stage.
  *
  * @throws Exception
  * @return Config
  */
 protected static function _getConfiguration($stage)
 {
     $config = new Config(null, $stage);
     $configDirectory = ROOT_PATH . self::CONFIG_PATH . $stage;
     $configFiles = glob($configDirectory . '/*.php');
     // create config files from .dist
     if (!$configFiles) {
         foreach (glob($configDirectory . '/*.dist') as $file) {
             $configFile = substr($file, 0, -5);
             copy($file, $configFile);
             $configFiles[] = $configFile;
         }
     }
     foreach ($configFiles as $file) {
         $data = (include_once $file);
         $config->offsetSet(basename($file, ".php"), $data);
     }
     $appPath = ROOT_PATH . self::CONFIG_METADATA_APP;
     if (!file_exists($appPath)) {
         $config->offsetSet('installed', false);
         $config->offsetSet('events', array());
         $config->offsetSet('modules', array());
         $config->offsetSet('widgets', array());
         return $config;
     }
     $data = (include_once $appPath);
     $config->merge(new Config($data));
     return $config;
 }