Laravel 错误处理:自定义 403 页面 2 个改进

Laravel 可以轻松显示各种 HTTP 状态代码的自定义错误页面。

例如,如果你希望自定义 403 HTTP 状态码的错误页面,可以创建一个 resources/views/errors/403.blade.php 视图文件。该文件将被用于你的应用程序产生的所有 403 错误。由 abort 函数引发的 HttpException 实例将作为 $exception 变量传递给视图:

<h2>{{ $exception->getMessage() }}</h2>

路由代码:

Route::get('/403', function () {
    abort(403, '抱歉,你没有权限访问!');
});

浏览器访问:

FDO84K7bDW.png!large

你还可以使用 vendor:publish Artisan 命令来生成错误模板页面:

php artisan vendor:publish --tag=laravel-errors

看到输出类似下面的信息则表示生成成功:

Copied Directory [/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views] To [/resources/views/errors]
Publishing complete.

将发现 resources/views/errors 有如下文件:

resources/views/errors
├── 401.blade.php
├── 403.blade.php
├── 404.blade.php
├── 419.blade.php
├── 429.blade.php
├── 500.blade.php
├── 503.blade.php
├── illustrated-layout.blade.php
├── layout.blade.php
└── minimal.blade.php

此时就可以愉快的修改对应 HTTP 状态码的模板文件了。

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 1

php artisan vendor:publish --tag=laravel-errors,发布成功了,但是为什么没有文件生成呀?

file

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!