示例#1
0
 /**
  * Generic method to transform a random block of data into a config object or value. 
  * 
  * @param Object $obj
  * @param function $extendHandler
  */
 public static function parseRoot($obj, $extendHandler, &$extended)
 {
     if (is_null($extended)) {
         $extended = array();
     }
     $configRoot = parent::parse($obj);
     $config = null;
     if (!is_null($configRoot->extends)) {
         //lookup through the extended files list
         if (in_array($configRoot->extends, $extended)) {
             throw new ConfigException(ConfigException::CYCLIC_CONFIG_ERROR, 'Cyclic config file dependency detected!', $configRoot->extends, $extended);
         }
         $parentConfig = $extendHandler($configRoot->extends, $extended);
         $config = $parentConfig->extendWithNode($configRoot->config);
     } else {
         $config = $configRoot->config;
     }
     return $config;
 }
示例#2
0
 protected static function loadCachedConfig()
 {
     $file = self::getCachedConfigFile();
     $config = Config::loadConfigFile(dirname($file), basename($file));
     return $config;
 }
示例#3
0
 /**
  * Loads core components and registers them for loading.
  * 
  * Loads all the required core libraries and then
  * registers their child classes for loading with the
  * core loader.
  * 
  * @access private
  * @return Nutshell
  */
 private function loadCoreComponents()
 {
     require NS_HOME . 'core' . _DS_ . 'Component.php';
     require NS_HOME . 'core' . _DS_ . 'HookManager.php';
     require NS_HOME . 'core' . _DS_ . 'exception' . _DS_ . 'NutshellException.php';
     require NS_HOME . 'core' . _DS_ . 'request' . _DS_ . 'Request.php';
     require NS_HOME . 'core' . _DS_ . 'exception' . _DS_ . 'ConfigException.php';
     require NS_HOME . 'core' . _DS_ . 'config' . _DS_ . 'Config.php';
     require NS_HOME . 'core' . _DS_ . 'config' . _DS_ . 'Framework.php';
     require NS_HOME . 'core' . _DS_ . 'loader' . _DS_ . 'Loader.php';
     require NS_HOME . 'core' . _DS_ . 'loader' . _DS_ . 'HipHopLoader.php';
     require NS_HOME . 'core' . _DS_ . 'plugin' . _DS_ . 'AbstractPlugin.php';
     require NS_HOME . 'core' . _DS_ . 'plugin' . _DS_ . 'Plugin.php';
     require NS_HOME . 'core' . _DS_ . 'plugin' . _DS_ . 'LibraryPlugin.php';
     require NS_HOME . 'core' . _DS_ . 'plugin' . _DS_ . 'PluginExtension.php';
     NutshellException::register();
     Request::register();
     Config::register();
     Loader::register();
     Plugin::register();
     return $this;
 }