怎么实现laravel管道及中间件源码分析
怎么实现laravel管道及中间件源码分析
今天就跟大家聊聊有关怎么实现laravel管道及中间件源码分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
通过一个简单的实例让我们熟悉关于 laravel 管道及中间件的实现过程。
管道(包洋葱的概念)在laravel 中是将要执行的控制器的方法做为洋葱心,而多个中间件(中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。)做为洋葱皮的概念。
核心知识点:返回闭包函数、开始包洋葱: array_reduce()
直接上代码了
pipes),$this->carry(),$this->prepareDestination($destination));return$pipeline();}/***[获取最后一块闭合的洋葱心,即控制器的方法]**@Authorleeprince:2020-03-1701:29*@paramClosure$destination*@returnmixed*/publicfunctionprepareDestination(Closure$destination){returnfunction()use($destination){return$destination();};}/***[获取一个代表洋葱切片的闭包。]**@Authorleeprince:2020-03-1701:24*@returnClosure*/protectedfunctioncarry(){returnfunction($stack,$pipe){returnfunction()use($stack,$pipe){return$pipe::handle($stack);};};}}//调用管道$pipe=newPipeline();$pipe->then(function(){return(newController())->index();});
执行结果
看完上述内容,你们对怎么实现laravel管道及中间件源码分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。