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在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
xml+php动态载入与分页
Oct 09 PHP
PHP聊天室技术
Oct 09 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
Zend的Registry机制的使用说明
May 02 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP getName()函数讲解
Feb 03 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 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
人族 Terran 基本策略
2020/03/14 星际争霸
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
PHP的开合式多级菜单程序
2006/10/09 PHP
php上传文件的增强函数
2010/07/21 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
PHP数据类型的总结分析
2013/06/13 PHP
PHP自定义错误用法示例
2016/09/28 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
javascript中的array数组使用技巧
2010/01/31 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
Python重新引入被覆盖的自带function
2014/07/16 Python
Python编程中的反模式实例分析
2014/12/08 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
django 多数据库配置教程
2018/05/30 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
海飞丝的广告词
2014/03/20 职场文书
倡议书范文
2014/04/16 职场文书
刑事和解协议书范本
2014/11/19 职场文书
家属慰问信
2015/02/14 职场文书
食品卫生管理制度
2015/08/06 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL