欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

laravel 框架配置404等异常页面的方法详解(代码示例)

程序员文章站 2022-05-31 19:13:57
本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在Laravel中所有的异常都由Handler类处理,该类包含两个方法:report和render,其中render方法将异常渲染到http响 ......

本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在laravel中所有的异常都由handler类处理,该类包含两个方法:report和render,其中render方法将异常渲染到http响应中。laravel的handler类文件位置:app/exceptions/handler,由于render方法时间异常渲染到http响应中,所以我们只需要修改下render方法即可
网上很多的方法是将render方法修改成:

1

2

3

4

5

6

7

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()是不存在的,这时候就会报错了,那么如何解决呢?

laravel 框架配置404等异常页面的方法详解(代码示例)laravel 框架配置404等异常页面的方法详解(代码示例)laravel 框架配置404等异常页面的方法详解(代码示例)

链接:https://pan.baidu.com/s/1v5gm7n0l7tgyejcmqrmh2g 提取码:x2p5

免费分享,但是x度限制严重,如若链接失效点击链接或搜索加群 群号518475424

这时候我们找到parent::render的方法所在:

laravel 框架配置404等异常页面的方法详解(代码示例)

这时候我们发现原来laravel框架已经将我们的这种情况包含进去了,那么我们就可以即将上面的方法改为:

1

2

3

4

5

6

7

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等异常页面的方法详解(代码示例)的详细内容