Laravel 5.5 中将对默认的错误页面进行新的改善过的设计。默认的错误页面会继承自 errors::layout 文件,并使用 flexbox 和垂直居中的消息对之前的页面做了些小的改进。
下面是在 Laravel 5.4 中 50* 错误页面的样子:
在将要到来的 Laravel 5.5 中将是一个新的现代化的设计:
自定义Laravel 错误消息
就像之前一样,你仍可以通过在 resources/views/errors/* 目录下创建文件自定义 Laravel 错误页面。它通过命名你的 Blade 文件与错误码一样的方式来实现。所以,如果你想自定义 500 页面,那么你需要创建一个 resources/views/errors/500.blade.php。
在这个模板中,你可以调整下面这些部分:
@extends('errors::layout')
@section('title', 'Error')
@section('message', 'Sorry, we are having a temporary problem. We have been alerted and will be rolling out a fix soon')父类的 errors::layout 是框架自带的,你可以继续使用它。或者创建自己的布局并继承它。
Laravel 默认自带了下面的错误文件:
- 404.blade.php
- 419.blade.php
- 500.blade.php
- 503.blade.php
最后,如果你对 Laravel 如何确定展示给用户的错误页面,你可以看看renderHttpException 方法。
第一个主要的部分是调用 replaceNamespace,它首先会查看你的 resources/views 文件夹,然后会查看框架的 views 文件夹。
view()->replaceNamespace('errors', [
resource_path('views/errors'),
__DIR__.'/views',
]);如果存在,它将返回错误码的视图:
return response()->view("errors::{$status}"此外,通过在 config/views.php 文件中添加 paths 你还可以给视图设置相同的模式:
'paths' => [
realpath(base_path('resources/views/new-design')),
realpath(base_path('resources/views')),
],现在,Laravel 会先到 new-design 目录寻找视图,找到后将使用它,否则,将使用 views 中的视图。
该篇属于专题:《Laravel 5.5 资讯》

