首页 » Web技术 » Laravel » 正文

Laravel 5.5 中将对默认的错误页面进行一些改进

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

发表评论