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 相关文章推荐
建立动态的WML站点(三)
Oct 09 PHP
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Python手机号码归属地查询代码
2016/05/04 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
生物化学研究助理员求职信
2013/10/09 职场文书
幼儿教育感言
2014/02/05 职场文书
美容院营销方案
2014/03/05 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
Python机器学习之基础概述
2021/05/19 Python
python基础之文件处理知识总结
2021/05/23 Python
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android