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作为Shell脚本语言使用
Oct 09 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
浅析php header 跳转
Jun 17 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
javascript some()函数用法详解
Nov 13 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
php array_map使用自定义的函数处理数组中的每个值
Oct 26 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
phpstudy隐藏index.php的方法
Sep 21 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生成月历代码
2007/06/14 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
python 测试实现方法
2008/12/24 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
python找出因数与质因数的方法
2019/07/25 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
文字自荐书范文
2014/02/10 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
政治表现评语
2014/05/04 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
干部作风建设工作总结
2014/10/29 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
申请吧主发表的感言
2015/08/03 职场文书