/** * 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; }
protected static function loadCachedConfig() { $file = self::getCachedConfigFile(); $config = Config::loadConfigFile(dirname($file), basename($file)); return $config; }
/** * 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; }