Laravel5框架自定义错误页面配置操作示例
脚本之家 / 编程助手:解决程序员“几乎”所有问题!
脚本之家官方知识库 → 点击立即使用
本文实例讲述了Laravel5框架自定义错误页面配置操作。分享给大家供大家参考,具体如下:
♩ 背景
- 最近试着学习 laravel 5.5,使用 composer 下载新的框架源代码
- 发现在输入错误的链接时,会有如下的提示信息:
- 想到,一般成型的网站都会自定义404、501、503等页面,所以通过网上搜索方法,进行测试,可推荐如下的实现过程 …
框架: Laravel 5.5
♪ 操作
①. 解释
- 所有异常错误都由类 App\Exceptions\Handler 处理,该类包含两个方法:
report
和render
,其中的render
方法会将异常渲染到 HTTP 响应中
②. render 方法优化
- 参考了网上的相关介绍,发现可以将 App\Exceptions\Handler 中的 render 方法修改为下面的样子:
1 2 3 4 5 6 7 8 9 10 11 | 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 查看并进行排错处理…
♫ 附录
- 根据上面的操作,可扩展创建其他错误页面
- 此处附录一下
404.blade.php
源代码,仅做参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <!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相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
- Laravel如何友好的修改.env配置文件详解
- Nginx中运行PHP框架Laravel的配置文件分享
- Laravel框架环境与配置操作实例分析
- Laravel 前端资源配置教程
- laravel config文件配置全局变量的例子
- Laravel数据库读写分离配置的方法
- Laravel 数据库加密及数据库表前缀配置方法
- laravel框架数据库配置及操作数据库示例
- laravel-admin自动生成模块,及相关基础配置方法
- laravel 配置路由 api和web定义的路由的区别详解
- Laravel5.6框架使用CKEditor5相关配置详解
- Laravel配置全局公共函数的方法步骤
- laravel配置Redis多个库的实现方法
- nginx实现一个域名配置多个laravel项目的方法示例
- laravel 框架配置404等异常页面
- Laravel 5.5官方推荐的Nginx配置学习教程
- Laravel Memcached缓存驱动的配置与应用方法分析
- Laravel 5+ .env环境配置文件详解
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
最新评论