Laravel中的Pipeline怎么使用


本文小编为大家详细介绍“Laravel中的Pipeline怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Laravel中的Pipeline怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。关于管道是运行的方式,最明显的范例其实就在框架本身最常用的一个组件当中,没错,我说的就是中间件。中间件为过滤进入应用的 HTTP 请求提供了一个便利的机制。一个基本的中间件应该是这个样子的:


这些「中间件」实际上就是管道,请求经由这里发送,从而执行任何需要的任务。在这里,你可以检查请求是否是一个 HTTP 请求,是否是一个 JSON 请求,是否存在已认证的用户信息等等。如果你想快速的查看IlluminateFoundationHttpKernel 类, 你将看到如何使用 Pipeline 类的新实例来执行中间件。

/**
*Sendthegivenrequestthroughthemiddlewar免费云主机域名e/router.
*
*@paramIlluminateHttpRequest$request
*@returnIlluminateHttpResponse
*/
protectedfunctionsendRequestThroughRouter($request)
{
$this->app->instance('request',$request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return(newPipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware()?[]:$this->middleware)
->then($this->dispatchToRouter());
}

你可以在代码中看到类似的内容:通过中间件列表发送请求的新管道,然后发送路由。如果这让你看起来有点不知所措也不用担心。让我们试着用以下这个例子来阐明这个概念。让我们来看一种场景。 比方说,你建立了一个人们可以发帖并发表评论的论坛。但是,您的用户请求您自动删除标签或在创建时在每一个内容上编辑标签。此时你被要求做的事情如下:用纯文本替换链接标记;用“*”替换敏感词;从内容中完全删除脚本标记。可能你最终会创建类来处理这些 “tasks”。

$pipes=[
RemoveBadWords::class
ReplaceLinkTags::class
RemoveScriptTags::class
];

我们要做的是将给定的“内容”传递给每个任务,然后将结果返回给下一个任务。我们可以使用pipeline来做到这一点。

send($request->content)
->through($pipes)
->then(function($content){
returnPost::create(['content'=>'content']);
});
//returnanytypeofresponse
}

每个“task”类应该有一个“handle”方法来执行操作。也许每个类都有统一的约束是一个不错的选择:


命名是个困难的事情 _(ツ)_/


用于执行任务的方法应该接收两个参数,第一个参数是合格的对象,第二个参数是当前操作处理完后会接管的下一个闭包(匿名函数)。您可以使用自定义方法名称而不是“handle”。然后你需要指定pipeline要使用的方法名称,比如:

app(Pipeline::class)
->send($content)
->through($pipes)
->via('customMethodName')//then(function($content){
returnPost::create(['content'=>$content]);
});

提交的内容将会被各个$pipes 所处理, 被处理的结果将会存储下来。

$post=app(Pipeline::class)
->send($request->all())
->through($pipes)
->then(function($content){
returnPost::create(['content'=>$content]);
});

读到这里,这篇“Laravel中的Pipeline怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: php有哪些curl错误代码

本篇内容介绍了“php有哪些curl错误代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! php curl错误代码有:1、“CURLE_UNSUPPORTED…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/22 10:27
Next 02/22 10:27

相关推荐