Fin*_*nwe 6 php symfony laravel-5
我有一个服务,当尝试使用调用设置它时需要关闭:在Symfony DI YAML文件中.
Illuminate\Queue\QueueManager:
arguments:
app: "@app"
calls:
- [ addConnector, [ "@Illuminate\\Queue\Connector\NullConnector" ]]
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以将服务封装到闭包中,因为库代码不会让我插入任何其他内容.
public function addConnector($driver, Closure $resolver)
{
$this->connectors[$driver] = $resolver;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在Symfony DI容器YAML定义文件中创建Closure(或匿名函数)?我想可以通过一些编译器传递完成,但我想知道是否可能存在这个问题的现有解决方案.
你可能已经解决了这个问题.但是您可以创建一个返回Closure的工厂
some_callback:
public: false
class: callback
factory: [SomeClass\Factory, create]
Run Code Online (Sandbox Code Playgroud)
您可以将其传递给addConnector调用:
Illuminate\Queue\QueueManager:
arguments:
app: "@app"
calls:
- [ addConnector, ["@Illuminate\\Queue\Connector\NullConnector", "@some_callback"]]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
950 次 |
最近记录: |