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实现的MySQL数据浏览器
Mar 11 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
thinkPHP中验证码的简单实现方法
Dec 05 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 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 求质素(素数) 的实现代码
2011/04/12 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
js调用css属性写法
2013/09/21 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
js实现文字截断功能
2016/09/14 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
Python内置函数property()如何使用
2020/09/01 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
求职面试个人自我评价
2014/02/28 职场文书
中药专业自荐信范文
2014/03/18 职场文书
活动总结怎么写
2014/04/28 职场文书
动物科学专业求职信
2014/07/27 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
介绍信格式
2015/01/30 职场文书
护士个人总结范文
2015/02/13 职场文书
遗失证明范文
2015/06/19 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript