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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
PHP配置文件中最常用四个ini函数
Mar 19 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
php自定义apk安装包实例
Oct 20 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP四种基本排序算法示例
Apr 09 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 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的网址
2006/11/25 PHP
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
Python pymsql模块的使用
2020/09/07 Python
教师实习自我鉴定
2013/12/14 职场文书
入党积极分子思想汇报
2014/01/02 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
教师新年寄语
2014/04/03 职场文书
主要领导对照检查材料
2014/08/26 职场文书
小学音乐课教学反思
2016/02/18 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL