这期内容当中小编将会给大家带来有关使用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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。