laravel 框架配置404等异常页面


Posted in PHP onJanuary 07, 2019

在Laravel中所有的异常都由Handler类处理,该类包含两个方法:report和render,其中render方法将异常渲染到http响应中。laravel的Handler类文件位置:app/Exceptions/Handler,由于render方法时间异常渲染到http响应中,所以我们只需要修改下render方法即可

网上很多的方法是将render方法修改成:

public function render($request, Exception $exception)
{
  if ($exception) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}

这时候你的测试可能是没有问题的,但是如果你如果写了登录的方法的话,这时候如果你访问必须要登录的页面的时候,这时候会报错

laravel 框架配置404等异常页面

这是由于如果你访问了必须要登录的页面的时候,这时候就会进入app/Exceptions/Handler.php的render方法,这时候$exception->getStatusCode()是不存在的,这时候就会报错了,那么如何解决呢?

这时候我们找到parent::render的方法所在:

laravel 框架配置404等异常页面

这时候我们发现原来laravel框架已经将我们的这种情况包含进去了,那么我们就可以即将上面的方法改为:

public function render($request, Exception $exception)
{
  if (!($exception instanceof AuthenticationException)) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}

这时候就完美解决了这个问题

然后在resources/view/error/下面新建错误页面,错误页面的命名为:{errorcode}..balde.php,其中的errorcode为错误码,例如404..balde.php

配置完成后访问一个不存在的路由时即可跳转到你配置的404页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
十天学会php(1)
Oct 09 PHP
上传多个文件的PHP脚本
Nov 26 PHP
PHP $_SERVER详解
Jan 16 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
php递归遍历删除文件的方法
Apr 17 PHP
浅谈PHP中output_buffering
Jul 13 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 PHP
PHP array_shift()用法实例分析
Jan 07 #PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 #PHP
PHP一个简单的无需刷新爬虫
Jan 05 #PHP
PHP智能识别收货地址信息实例
Jan 05 #PHP
PHP数字金额转换成中文大写显示
Jan 05 #PHP
PHP yield关键字功能与用法分析
Jan 03 #PHP
PHP获取对象属性的三种方法实例分析
Jan 03 #PHP
You might like
PHP游戏编程25个脚本代码
2011/02/08 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
javascript常用对话框小集
2013/09/13 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
JavaScript数组去重实现方法小结
2020/01/17 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
教师党员个人整改措施
2014/10/27 职场文书
学习与创新自我评价
2015/03/09 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android