本文實例講述了Laravel5框架自定義錯誤頁面配置操作。分享給大家供大家參考,具體如下:
composer create-project --prefer-dist laravel/laravel lar5Pro 5.5.*
框架: Laravel 5.5
report
和 render
,其中的 render
方法會將異常渲染到 HTTP 響應中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/
目錄下創建錯誤頁面
404.blade.php
中編輯設計自己的 404頁面
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') }}" <p>將在 <span id="mes">5</span> 秒鐘后返回 <a href="{{ url('/') }}" rel="external nofollow" >首頁</a></p> <p class="hint">非常抱歉 - 您可能輸入了錯誤的網址,或者該網頁已刪除或移動</p></div></body></html>
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選