public function onNotFound(\Event $event) { $controller = new \Controller(\App::getInstance()); $page = $controller->twigInit()->render(\Config::get('view::notfound_page')); $response = new \Response($page, 404); \Container::getInstance()->setResponse($response); }
/** * Render an exception as an HTTP response and send it. * * @param \Exception $e * @return void */ protected function renderHttpResponse($e) { //dev下面需要render信息 if ($this->app->container->getEnvironment() == 'prod') { $controller = new \Controller($this->app); $e = $controller->twigInit()->render(\Config::get('view::error_page')); } else { if (!is_array($e)) { $trace = debug_backtrace(); $error['message'] = $e; $error['file'] = $trace[0]['file']; $error['line'] = $trace[0]['line']; ob_start(); debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); $e['trace'] = ob_get_clean(); $e = $error; } } \EventDispatcher::dispatch(KernalEvent::EXCEPTION, new ExceptionEvent($e)); }