国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Laravel5框架自定義錯誤頁面配置操作示例

2024-05-05 00:08:31
字體:
來源:轉載
供稿:網友

本文實例講述了Laravel5框架自定義錯誤頁面配置操作。分享給大家供大家參考,具體如下:

? 背景

  • 最近試著學習 laravel 5.5,使用 composer 下載新的框架源代碼
composer create-project --prefer-dist laravel/laravel lar5Pro 5.5.*
  • 發現在輸入錯誤的鏈接時,會有如下的提示信息:

Laravel5,自定義錯誤頁面

  • 想到,一般成型的網站都會自定義404、501、503等頁面,所以通過網上搜索方法,進行測試,可推薦如下的實現過程 … 
    框架: Laravel 5.5

? 操作

①. 解釋

  • 所有異常錯誤都由類 App/Exceptions/Handler 處理,該類包含兩個方法:report 和 render ,其中的 render 方法會將異常渲染到 HTTP 響應中

②. render 方法優化

  • 參考了網上的相關介紹,發現可以將 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 ,從而得出了上述的代碼,建議可以閱讀下源代碼以做比較

Laravel5,自定義錯誤頁面

③. 創建 view 頁面

  • 在 resources/views/error/ 目錄下創建錯誤頁面
  • 命名格式為 {error.code}.blade.php

Laravel5,自定義錯誤頁面

④. 訪問測試

  • 舉例來講,在 404.blade.php 中編輯設計自己的 404頁面
  • 通過訪問一個不存在的路由,以本人為例,顯示效果如下:

Laravel5,自定義錯誤頁面

  • 默認如果數據處理有錯,是 500 異常報錯,此時可以通過 debug 查看并進行排錯處理…

Laravel5,自定義錯誤頁面

? 附錄

  • 根據上面的操作,可擴展創建其他錯誤頁面
  • 此處附錄一下 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程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新宁县| 曲麻莱县| 明星| 揭东县| 社会| 平凉市| 伊宁市| 资溪县| 兴化市| 岳西县| 德庆县| 耒阳市| 封开县| 潜山县| 东光县| 哈巴河县| 台前县| 阿拉善左旗| 喀喇沁旗| 台北市| 宁海县| 温泉县| 扎赉特旗| 潮安县| 北碚区| 奇台县| 涞源县| 鄄城县| 宜宾县| 通海县| 广西| 缙云县| 秭归县| 留坝县| 荃湾区| 开平市| 濮阳市| 城步| 长海县| 六枝特区| 衡阳县|