我正在使用 Symfony 4,并且有自定义事件和订阅者,例如 CustomEvent 和 CustomEventSubscriber。有调度CustomEvent的模块,例如CustomModule。该模块在控制器(ControllerA)和命令(CommandB)中使用。
换句话说,可能有以下两种情况:
ControllerA -> CustomModule -> CustomEventSubscriber(CustomEvent)
或者
CommandB -> CustomModule -> CustomEventSubscriber(CustomEvent)
CustomEventSubscriber 中的逻辑稍有不同取决于调用 CustomModule 的位置(ControllerA 或 CommandB)。
如何将该信息传递给CustomEventSubscriber
?
我可以向 中添加$context
属性CustomEvent
并将其设置在CustomModule
. 但在这种情况下,我应该将有关上下文的信息传递给CustomModule
.
或者也许我可以使用一些全局设置,例如容器?
或者为每个 CustomEvent 创建两个不同的事件订阅者,禁用自动连接,并“手动”初始化并添加到 ControllerA 和 CommandB 中的调度程序?