这篇文章主要介绍了laravel 框架配置404等异常页面,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在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);
}
这时候你的测试可能是没有问题的,但是如果你如果写了登录的方法的话,这时候如果你访问必须要登录的页面的时候,这时候会报错

这是由于如果你访问了必须要登录的页面的时候,这时候就会进入app/Exceptions/Handler.php的render方法,这时候$exception->getStatusCode()是不存在的,这时候就会报错了,那么如何解决呢?
这时候我们找到parent::render的方法所在:

这时候我们发现原来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页面
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
本文标题为:laravel 框架配置404等异常页面
基础教程推荐
- CentOS 7 编译安装PHP7 2023-09-02
- 在laravel中实现事务回滚的方法 2023-02-22
- PHP如何将头像图片转换圆形图片 2023-08-30
- PHP中的输出缓冲控制详解 2023-06-03
- PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案 2022-11-26
- php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次) 2023-04-24
- 解析PHP中Exception异常机制 2023-06-13
- PHP树形结构tree类用法示例 2022-12-15
- PHP设计模式之状态模式定义与用法详解 2022-10-12
- php fread函数使用方法总结 2023-01-19
