public function handleRequest() { // Encapsulate an HTTP request $request = new Request(); // Don't show HTML errors for JSON if ($request->acceptJson()) { ini_set('html_errors', 0); } // Encapsulate the user session if (class_exists('App\\Session')) { $session = new App\Session($request); } else { $session = new Session($request); } $request->setSession($session); // Setup the dispatcher with App URL patterns $routes = self::getPatterns(); if (class_exists('App\\Route')) { $routes = array_merge(App\Route::getPatterns($request), $routes); } $dispatcher = new Dispatcher($request, $routes); // Process the request $response = $dispatcher->processRequest($request); $response->setHeaders($session->getHeaders()); // Render the response $response->respond(); }
/** * 初始化 * @return void */ public static function boot() { // 目录定义 self::structure(); // 初始化环境 self::environment(); // 加载配置 Config::configure(CONFIG); // 数据检查 Validate::validity(); // session初始化 Session::start(); // 调度程序 Dispatcher::dispatch(); }
private static function init() { // 加载应用公共文件和配置 // C(include CONF_PATH . 'config' .CONF_EXT); // 定义当前请求的系统常量 define('NOW_TIME', $_SERVER['REQUEST_TIME']); define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']); define('IS_GET', REQUEST_METHOD == 'GET' ? true : false); define('IS_POST', REQUEST_METHOD == 'POST' ? true : false); define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false); define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false); define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ? true : false); // URL调度 \Core\Dispatcher::run(); // URL调度结束标签 Hook::listen('url_dispatch'); //没有对应的行为函数,返回null notes by lwh 2015-11-19 return; }