Felipe Asked: 2020-04-06 19:48:04 +0800 CST 2020-04-06 19:48:04 +0800 CST 2020-04-06 19:48:04 +0800 CST 自定义 400、404 等错误 772 如何在 Laravel 5.6 中自定义 404、400 和其他错误? 我在视图内的错误文件夹中准备好我的错误页面 laravel 1 Answers Voted Best Answer dn. 2020-04-06T23:39:12+08:002020-04-06T23:39:12+08:00 Laravel中的错误页面应该通过类来控制,该类 App\Exceptions\Handler负责处理框架的所有异常。在这个类中,我们有两个方法:report和render. 我们感兴趣的方法是render,它负责将异常转换为 HTTP 响应。这是我们可以定义我们的自定义响应的地方。例如,对于错误代码500的响应: public function render($request, Exception $exception) { if ($exception instanceof CustomException) { return response()->view('errors.500', [], 500); } return parent::render($request, $exception); } 重定向到自定义错误页面并响应应用程序中发生的异常(错误)的更加动态的方法如下: public function render($request, Exception $e) { if($this->isHttpException($e)){ if (view()->exists('errors.'.$e->getStatusCode())) { return response()->view('errors.'.$e->getStatusCode(), [], $e->getStatusCode()); } } return parent::render($request, $e); } 此代码片段在重定向用户之前检查接收到的异常是 HTTP 以及自定义视图是否存在。所有这一切都考虑到视图位于目录views/errors/{code}中,因为它似乎是你的情况。 我希望我有所帮助。您可以随时参考 Laravel 官方文档,该文档解释得很清楚:Laravel 中的错误处理。
Laravel中的错误页面应该通过类来控制,该类
App\Exceptions\Handler
负责处理框架的所有异常。在这个类中,我们有两个方法:report
和render
.我们感兴趣的方法是
render
,它负责将异常转换为 HTTP 响应。这是我们可以定义我们的自定义响应的地方。例如,对于错误代码500的响应:重定向到自定义错误页面并响应应用程序中发生的异常(错误)的更加动态的方法如下:
此代码片段在重定向用户之前检查接收到的异常是 HTTP 以及自定义视图是否存在。所有这一切都考虑到视图位于目录
views/errors/{code}
中,因为它似乎是你的情况。我希望我有所帮助。您可以随时参考 Laravel 官方文档,该文档解释得很清楚:Laravel 中的错误处理。