【Laravel5】 定制错误页面

laravel5   所有异常错误都由类   App\Exceptions\Handler    处理,该类包含两个方法:   report   和   render 。 
这里我们只看 render  方法,该方法会将异常渲染到HTTP响应中,就是说错误信息就是通过这个方法展示的。

1 修改  render  方法

    public function render($request, Exception $exception)
    {
         /* 错误页面 */
        if ($exception instanceof HttpException) {
            $code = $exception->getStatusCode();
            if (view()->exists('errors.' . $code)) {
                $message  = $exception->getMessage();
                return response()->view('errors.' . $exception->getStatusCode(), ['message'=>$message], $exception->getStatusCode());
            }
         }
         
        return parent::render($request, $exception);
    }

根据代码逻辑,如果存在一个类似 "errors.{httpStatusCode}" 命名的视图(view),就会被加载并展示出来(这个视图文件还会接收到一些参数)。

 

知道了原理,接下来定制 404错误页(或者其他)就简单了,只要将视图文件放到如下路径就行了:

resources/views/errors/404.blade.php

文件夹不存在自行创建!

 

posted @ 2018-01-22 15:42  依然范儿特西  阅读(136)  评论(0编辑  收藏  举报