您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關使用Laravel5框架怎么自定義錯誤頁面,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
所有異常錯誤都由類 App\Exceptions\Handler 處理,該類包含兩個方法:report
和 render
,其中的 render
方法會將異常渲染到 HTTP 響應中
參考了網上的相關介紹,發現可以將 App\Exceptions\Handler 中的 render 方法修改為下面的樣子:
public function render($request, Exception $exception) { /* 錯誤頁面 */ if ($exception) { //TODO Laravel5.5 框架中 Exception 類不存在 getStatusCode()方法,或許只能支持前面的版本! //$code = $exception->getStatusCode(); $code = FlattenException::create($exception)->getStatusCode(); return response()->view('error.' . $code, [], $code); } return parent::render($request, $exception); }
【分析】
經過對框架源碼的查看發現,我們是通過實例化
FlattenException
類來獲得請求狀態碼的,根據提供的測試類FlattenExceptionTest
,從而得出了上述的代碼,建議可以閱讀下源代碼以做比較
在 resources/views/error/
目錄下創建錯誤頁面
命名格式為 {error.code}.blade.php
舉例來講,在 404.blade.php
中編輯設計自己的 404頁面
通過訪問一個不存在的路由,以本人為例,顯示效果如下:
默認如果數據處理有錯,是 500 異常報錯,此時可以通過 debug 查看并進行排錯處理…
根據上面的操作,可擴展創建其他錯誤頁面
此處附錄一下 404.blade.php
源代碼,僅做參考
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>404頁面</title> <style> #box{ margin: 0 auto; width: 540px; height: 540px; } p{ margin-bottom: 60px; width: 540px; height: 20px; text-align: center; line-height: 20px; } #mes{ font-size: 30px; color: red; } .hint{ color: #999; } a{ color: #259AEA; text-decoration:none } </style> <script> var i = 5; var intervalID = setInterval("fun()", 1000); function fun() { if (i == 0) { window.location.href = "/"; clearInterval(intervalID); } document.getElementById("mes").innerHTML = i; i--; } </script> </head> <body> <div id="box"> <img src="{{ asset('images/error/404.jpg') }}" alt="404"> <p>將在 <span id="mes">5</span> 秒鐘后返回 <a href="{{ url('/') }}" rel="external nofollow" >首頁</a></p> <p class="hint">非常抱歉 - 您可能輸入了錯誤的網址,或者該網頁已刪除或移動</p> </div> </body> </html>
上述就是小編為大家分享的使用Laravel5框架怎么自定義錯誤頁面了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。