我有一个User
模型,它附加了几个外部服务(Services
模型,多通信),我事先不知道会有多少个外部集成,它们有什么设置(每个服务都是作为一个单独的类实现的,集成设置在Services
模型的属性中描述)。
我想使用管道模板。但我找不到任何好的Laravel代码示例和文档。
它应该看起来像
$integrations = $user->integrations;
if ($integrations->count()) {
return app(Pipeline::class)
-> send($user)
-> through($integrations)
-> thenReturn();
}
字符串
但我不明白它是如何工作的.如何实现管道类?
1条答案
按热度按时间kq0g1dla1#
每个管道本质上是一个处理一段逻辑的类。该类应该定义一个handle方法:
字符串
您可以使用Pipeline类通过定义的管道发送对象:
型
如果每个服务都有自己的设置,您可能需要添加设置:
型
并调整SomeServiceIntegration类以接受设置:
型