环绕中间件

环绕中间件

文档里面有提到一个before中间件和一个after中间件,一个是在请求到达controller之前进行处理,另一个则是controller处理之后进行处理,其实还有一种中间件文档中没有提到叫做环绕中间件,可以将前置逻辑和后置逻辑放在一个文件里。

使用以下命令创建中间件

php artisan make:middleware AroundMiddle

编辑文件是我们在访问的时候有输出

class AroundMiddle
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
     */
    public function handle(Request $request, Closure $next)
    {

        echo "环绕中间件开始执行\n";

        $response = $next($request);


        echo "环绕中间件结束执行\n";

        return $response;
    }
}

之后我们将一个路由绑定这个中间件之后,去controller编写一个测试方法。

 public function show(StorePostRequest $request){

        echo "controller 处理中 \n";
        return response()->json(['name'=>'hello world']);

    }

最后用postman进行测试

如果以上内容有不对的地方,欢迎大家指出,谢谢。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

也可以叫 前置中间件后置中间件

4年前 评论
xiaolvhaha (楼主) 4年前

这个就是默认的中间件。。。。。。。。。。。如果你看过 pipeline 部分你就知道为什么不讲这个了。。。。

4年前 评论

这... 被标题成功吸引了...

4年前 评论
哪吒的狗腿子 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
4
收藏
4
排名:2414
访问:604
私信
所有博文
社区赞助商