默认报错样式变漂亮啦 (Laravel 5.5 新功能早知道)
Hello, 这里是一任性就放了一个星期大假的骏妞儿。:laughing:
Laravel 5.5 中改进了错误页面的设计。 默认报错样式可以在 errors::layout
中扩展,另外还在当前样式中添加了 flexbox 以及将文字垂直居中作为新的设计。
以下是 Laravel 5.4 报 50* 时的错误页面:
这是新的:
自定义 Laravel 错误消息
跟以前一样你还是可以轻松地在 resources/views/errors*
目录中创建自己的 Laravel 报错视图,然后文件命名为错误号就可以了。 比如说,如果你想自定义 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
在框架代码 内部 ,你可以继续使用它,或者创建 Blade 模板文件再进行扩展。
默认情况下,Laravel 已经附带了以下错误文件:
- 404.blade.php
- 419.blade.php
- 500.blade.php
- 503.blade.php
小扩展
如果你好奇 Laravel 如何确定该为用户显示哪种报错视图,你可以查看 renderHttpException 方法。
第一个主要部分是 replaceNamespace
的调用,首先它会查看你的 resources/views
文件夹:
view()->replaceNamespace('errors', [
resource_path('views/errors'),
__DIR__.'/views',
]);
如果存在状态代码的视图,它就返回:
return response()->view("errors::{$status}"
你还可以在 config/views.php
文件中添加其他路径。
'paths' => [
realpath(base_path('resources/views/new-design')),
realpath(base_path('resources/views')),
],
添加完之后,Laravel 就会在 new-design
文件夹中查找模板文件了,找得到就用,找不到就从 views
文件夹中找。依此类推~
近期的新闻会陆陆续续翻译上来,想查看第一消息可以上 Laravel China 资讯站 哦!
本作品采用《CC 协议》,转载必须注明作者和本文链接
:+1:
这是什么字体,挺好看- -求解
@畅畅 目测是这种 Raleway
@JokerLinly 是的是的
厉害
5.4 中404.blade.php有效,500.blade.php无效。你们是吗?
@waney 这是 5.5 的新功能,5.4 只有 503
:+1:
@JokerLinly error 布局模板里又引用 google Raleway 字体了,如果因为字体服务不顺畅,会让错误页面显示变慢的,对初学者也是一个坑,我感觉这个点可以备注上。