路由中间件之 ShareErrorsFromSession

未匹配的标注

简介

[
    'App\Http\Middleware\EncryptCookies',
    'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
    'Illuminate\Session\Middleware\StartSession',
    'Illuminate\View\Middleware\ShareErrorsFromSession',  // 本章内容
    'App\Http\Middleware\VerifyCsrfToken',
    'Illuminate\Routing\Middleware\SubstituteBindings',
    'App\Http\Middleware\RedirectIfAuthenticated',
]

上一章,我们看了 StartSession 中间件源码,总结其大体作用:从 Cookie 中获取 SessionID,然后从 Laravel Storage 中获取序列化的会话信息;生成 Response SessionID,加入 Cookie 中返回给前端,最后将会话序列化保存到 Laravel Storage 中。

本章,如上:ShareErrorsFromSession。

从字面意思,可以看出是指从 Session 中分享错误信息至 View 视图中。

handle 方法

Illuminate\View\Middleware\ShareErrorsFromSession

public function handle($request, Closure $next)
{
    // 从 session 中获取错误信息,绑定到 view 视图中
    $this->view->share(
        'errors', $request->session()->get('errors') ?: new ViewErrorBag
    );

    return $next($request);
}

在讲这个中间件之前。我们来看一段官方文档

Laravel

此段地址--->传送门

然而,官方文档提到的将错误信息闪存到 Session 中,然后供 视图 使用,其中从 Session 中取错误数据的功能,就是此中间件负责的事情。

本篇如有错误、不当或者需补充的内容,请各位同僚多提宝贵意见。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~