/** * * @return Yasc_Layout */ public static function getInstance() { if (null === self::$_instance) { self::$_instance = new self(); } return self::$_instance; }
/** * Configure yasc. * * @return bool */ protected function _configure() { self::$_instance->_config = new Yasc_App_Config(); $userFunctions = self::$_instance->getUserDefinedFunctions(); // default configuration function name without a namespace. $configFunctionName = self::CONFIGURATION_FUNCTION_NAME; if (self::$_instance->getNamespaces() !== null) { // lookup for at least one configuration function inside each namespace. foreach (self::$_instance->getNamespaces() as $namespace) { $tmp = strtolower($namespace) . "\\" . self::CONFIGURATION_FUNCTION_NAME; if (in_array($tmp, $userFunctions)) { $configFunctionName = $tmp; break; } } } if (!in_array($configFunctionName, $userFunctions)) { return false; } $configure = new ReflectionFunction($configFunctionName); $configure->invoke(); if (null !== self::$_instance->_config->getLayoutScript()) { self::$_instance->_layout = Yasc_Layout::getInstance()->setLayoutPath(self::$_instance->_config->getLayoutScript()); } }
/** * * @return Yasc_Layout */ public function layout() { return Yasc_Layout::getInstance(); }