路由中间件之 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 网站上。

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~