1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      Laravel5框架自定义错误页面配置操作示例

       更新时间2019年04月17日 09:57:06   作者moTzxx   我要评论

      这篇文章主要介绍了Laravel5框架自定义错误页面配置操作,结合具体实例形式分析了Laravel5自定义错误页面的原理操作步骤及相关实现技巧,需要的朋友可以参考下

      本文实例讲述了Laravel5框架自定义错误页面配置操作分享给大家供大家参考具体如下

      ♩ 背景

      • 最近试着学习 laravel 5.5使用 composer 下载新的框架源代码
      composer create-project --prefer-dist laravel/laravel lar5Pro 5.5.*
      • 发现在输入错误的链接时会有如下的提示信息

      • 想到一般成型的网站都会自定义404501503等页面所以通过网上搜索方法进行测试可推荐如下的实现过程
        框架 Laravel 5.5

      ♪ 操作

      . 解释

      • 所有异常错误都由类 App\Exceptions\Handler 处理该类包含两个方法reportrender 其中的 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 从而得出了上述的代码建议可以阅读下源代码以做比较

      . 创建 view 页面

      • resources/views/error/ 目录下创建错误页面
      • 命名格式为 {error.code}.blade.php

      . 访问测试

      • 举例来讲在 404.blade.php 中编辑设计自己的 404页面
      • 通过访问一个不存在的路由以本人为例显示效果如下

      • 默认如果数据处理有错是 500 异常报错此时可以通过 debug 查看并进?#20449;?#38169;处理

      ♫ 附录

      • 根据上面的操作可扩展创建其他错误页面
      • 此处附?#23478;?#19979; 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>

      更多关于Laravel相关内容?#34892;?#36259;的读者可查看本站专题Laravel框架入门与进阶教程php优秀开发框架总结php面向对象程序设计入门教程php+mysql数据库操作入门教程php常见数据库操作技巧汇总

      希望本文所述?#28304;?#23478;基于Laravel框架的PHP程序设计有所帮助

      相关文章

      最新评论

      3dԻв

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>