startTime = microtime(true); } /** * 框架结束 * @return void */ public function appEnd() { //echo microtime(true) - $this->startTime ; } /** * 框架错误 * @param objcet $e 错误对象 * @return viod */ public function appError($e) { if(404 == $e->getCode()) { $action = 'error404'; }else{ $action = 'error'; } A('base/Error','controllers')->$action($e); } /** * 路由解析 * @param array $rewriteRule 路由规则 * @param boolean $rewriteOn 路由开关 * @return void */ public function routeParseUrl($rewriteRule, $rewriteOn) { } /** * 方法开始 * @param objcet $obj 操作对象 * @param string $action 方法名 * @return void */ public function actionBefore($obj, $action) { $this->_initialize(); } /** * 方法结束 * @param objcet $obj 操作对象 * @param string $action 方法名 * @return void */ public function actionAfter($obj, $action) { } /** * 初始化应用 */ private function _initialize() { $initialize_path = APP_PATH . 'config/'; $initialize_cache = ROOT_PATH . 'data/caches/app/' . APP_NAME . '/'; if (!file_exists($initialize_cache)) { if (!@mkdir($initialize_cache, 0777, true)) { throw new \Exception("Can not create dir '{$initialize_cache}'", 500); } } if (!is_writable($initialize_cache)) @chmod($initialize_cache, 0777); if (file_exists($initialize_path . 'initialize.php') && (!file_exists($initialize_cache . 'installed.lock') && !file_exists($initialize_path . 'installed.lock'))) { $initialize = require $initialize_path . 'initialize.php'; if (isset($initialize['db'])) { $init_sql = is_string($initialize['db']) ? array($initialize['db']) : $initialize['db']; $db = new \base\Model(); foreach ($init_sql as $sql) { $db->query($sql); } } file_put_contents($initialize_cache . 'installed.lock', 'lock'); } } }