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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
C# Assembly类访问程序集信息
Jun 13 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
浅谈php处理后端&接口访问超时的解决方法
Oct 29 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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/01/04 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
php检测文件编码的方法示例
2014/04/25 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
Nginx实现反向代理
2017/09/20 Servers
PHP里的$_GET数组介绍
2019/03/22 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
JavaScript中this详解
2015/09/01 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
详解Python的单元测试
2015/04/28 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
八年级语文教学反思
2014/02/11 职场文书
简历自我评价模板
2015/03/11 职场文书
校园运动会广播稿
2015/08/19 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫