/** * 输出静态文件 * @param boolean $forceExit 输出静态页面后,是否强制退出PHP程序.默认为true * @return boolean 当不需要缓存或者缓存过期时返回false,读取缓存成功后返回true */ public static function cacheResponse($forceExit = true) { if (!HTML_CACHE_ON) { return false; } if (!isset(self::$requestParams)) { self::$requestParams = RequestUtil::getParams(); } //暂不缓存搜索页 if (RequestUtil::parseSearchFields()) { return false; } //此module action组是否需要缓存 if (self::needCache(self::$requestParams->module, self::$requestParams->action)) { $cachedFileName = self::generateFilePathName(); if (self::isCacheFileExpired($cachedFileName)) { //缓存过期则返回,继续执行其他程序 return false; } else { //执行其它额外启动过程 \Lib\Bootstrap::run(); //获取静态缓存 require $cachedFileName; if ($forceExit) { die; } else { return true; } } } else { return false; } }
/** * 启动应用 */ public function run() { self::$requestParams = RequestUtil::getParams(); $moduleAction = 'Module\\' . self::$requestParams->module . '\\' . ucfirst(self::$requestParams->action); if (!class_exists($moduleAction, true)) { $msg = 'Milanoo module/action not found !' . $moduleAction . "\n" . 'Parsed request parameters:' . "\n" . var_export(self::$requestParams, true); if (DEBUG_MODE) { \Lib\common\Debug::setInfo('MethodNotFound', $msg); return; } error_log($msg); header('HTTP/1.1 404 Not found'); require ROOT_PATH . 'errors/404.php'; die; } header('content-type:text/html;charset=utf-8'); //启动各模块之前运行各额外方法 \Lib\Bootstrap::run(); //执行个相应模块 $module = new $moduleAction(); }