Laravel开发错误处理:如何自定义 404、500 错误页面
Laravel 错误处理
所有的异常处理都是通过 Laravel/App/Exceptions/Handler 类。这个类包含了两个方法:report 和 render。
report 方法用来记录异常。默认情况下,当异常被记录时,report 方法只是简单的发送异常到基类。
render 方法负责将指定的异常转换成 HTTP 响应再发送到浏览器。默认情况下,异常会被发送到基类并帮你生成响应。
Laravel 默认错误页面
自定义 HTTP 错误页面
编辑 PHP 文件 Laravel/app/Exceptions/ 内容如下:
public function render($request, Exception $e) { if ($e instanceof ModelNotFoundException) { $e = new NotFoundHttpException($e->getMessage(), $e); } if($e instanceof \Symfony\Component\Debug\Exception\FatalErrorException && !config('')) { // 加上防止dubug关闭模式下暴露重要信息 return response()->view('', [], 500); } return parent::render($request, $e); }
你可以简单的对于各种不同的 HTTP 状态码返回自定义的错误视图。例如,如果你想要自定义 HTTP 404 状态码的错误视图,则可以创建一个 resources/views/errors/ 文件。应用程序将会使用这个视图处理所有发生的 404 错误。
在这个目录下的视图,命名应该匹配对应到 HTTP 状态码。
THE END