預設報錯樣式變漂亮啦 (Laravel 5.5 新功能早知道)

JokerLinly發表於2017-05-02

file
Hello, 這裡是一任性就放了一個星期大假的駿妞兒。:laughing:

Laravel 5.5 中改進了錯誤頁面的設計。 預設報錯樣式可以在 errors::layout 中擴充套件,另外還在當前樣式中新增了 flexbox 以及將文字垂直居中作為新的設計。

以下是 Laravel 5.4 報 50* 時的錯誤頁面:

file

這是新的:

file

自定義 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 資訊站 哦!

參考連結:https://laravel-news.com/laravel-5-5-error-views

Stay Hungry, Stay Foolish.

相關文章