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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
15种PHP Encoder的比较
Apr 17 PHP
Php注入点构造代码
Jun 14 PHP
php目录管理函数小结
Sep 10 PHP
php注销代码(session注销)
May 31 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
php base64 编码与解码实例代码
Mar 21 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 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中SQL注入攻击与XSS攻击
2012/06/10 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
python try 异常处理(史上最全)
2019/03/07 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
python实现控制台输出颜色
2021/03/02 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
MYSQL支持事务吗
2013/08/09 面试题
广告学毕业生求职信
2014/01/30 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android