Laravel5下自定义错误页面的配置

来源:互联网 发布:窃听软件免费下载 编辑:程序博客网 时间:2024/04/23 22:44

背景

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

  • 想到,一般成型的网站都会自定义404、501、503等页面,所以通过网上搜索方法,进行测试,可推荐如下的实现过程 …

操作

①. 解释

  • 所有异常错误都由类 App\Exceptions\Handler 处理,该类包含两个方法:reportrender ,其中的 render 方法会将异常渲染到 HTTP 响应中

②. render 方法优化

  • 将 App\Exceptions\Handler 中的 render 方法修改为:
public function render($request, Exception $exception)    {        /* 错误页面 */        if ($exception) {            $code = $exception->getStatusCode();            return response()->view('error.' . $code, [], $code);        }        return parent::render($request, $exception);    }

③. 创建 view 页面

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

④. 访问测试

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

附录

  • 此方法,适应 laravel5.2+
  • 根据上面的操作,可扩展创建其他错误页面
  • 此处附录一下 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('/') }}">首页</a></p>    <p class="hint">非常抱歉 - 您可能输入了错误的网址,或者该网页已删除或移动</p></div></body></html>
阅读全文
0 0