Laravel 5.5 默认错误视图的改进
发布时间:作者: Eric L. Barnes
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' => [ realpath(base_path('resources/views/new-design')), realpath(base_path('resources/views')),],
现在 Laravel 将在“new-design”文件夹中查找模板文件,如果找到,则使用它,否则使用“views”文件夹中的模板文件。