public function onRequest($request, $response) { $param = []; if (!empty($request->get)) { $param = $request->get; } if (!empty($request->post)) { $param += $request->post; } Request::parse($param); try { $result = ZRoute::route(); } catch (\Exception $e) { $model = Formater::exception($e); $model['_view_mode'] = 'Json'; $result = Response::display($model); } $response->end($result); }
/** * @return mixed * @throws \Exception * @desc fatal error处理 */ public static function fatalHandler() { $error = \error_get_last(); if (empty($error)) { return; } if (!in_array($error['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR))) { return; } $config = ZConfig::get('project'); $model = ZFormater::fatal($error); $info['data'] = null; if ($config['debug_mode']) { $info['debug'] = $model; } Log::info([\var_export($model, true)], 'fatal'); $info['msg'] = $model['message']; $info['code'] = $model['code']; Response::status('200'); if ('Php' == Request::getViewMode()) { if ($config['debug_mode']) { Request::setTplFile('public/exception.php'); } else { Request::setTplFile('public/error.php'); } } Response::display($info); }
public static final function fatalHandler() { $error = \error_get_last(); if (empty($error)) { return; } if (!in_array($error['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR))) { return; } Utils::status('200'); $exceptionView = View\Factory::getInstance(); $exceptionView->setModel(Formater::fatal($error)); $exceptionView->display(); }
public static final function exceptionHandler($exception) { $exceptionView = View\Factory::getInstance(); $exceptionView->setModel(Formater::exception($exception)); $exceptionView->display(); }
public static final function fatalHandler() { $error = \error_get_last(); if (empty($error)) { return; } if (!in_array($error['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR))) { return; } Response::status('200'); return Response::display(Formater::fatal($error)); }
private function _route($data) { try { $server = Protocol\Factory::getInstance(ZConfig::getField('socket', 'protocol', 'Rpc')); $server->parse($data); $result = Core\Route::route($server); return $result; } catch (\Exception $e) { $result = Formater::exception($e); ZPHP\Common\Log::info('zchat', [var_export($result, true)]); return null; } }