/** * 程序执行 * @return void */ private static function application() { // 路由解析 list($class, $function) = Request::dispatch(); // 数据检查 // 控制器运行前的钩子 Hook::runHook('prevController'); // 创建控制器 $controller = new $class(); // 控制器执行前 call_user_func(array($controller, '_before')); call_user_func(array($controller, $function)); call_user_func(array($controller, '_after')); // 最终输出 Output::response($output); }
<?php define('ROOT_DIR', dirname(__FILE__)); define('APP_DIR', ROOT_DIR . '/app'); require_once ROOT_DIR . '/config/config.php'; try { $request = new Request(); $request->setUrlKeyword('api'); $request->enableUrlRewriting(); $request->addRoutes(include ROOT_DIR . '/config/routes.php'); $request->dispatch(); } catch (Exception $e) { $request->handleException($e); }
/** * Dispatch a request. * * Usage example: * {dispatch "/some/request"} */ function dispatch($params, $render = true) { return Request::dispatch($params, $render); }
<?php require 'horatio.php'; $req = new Request(); $response = $req->dispatch(); echo $response;