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 资讯》