Symfony DI Container中的配置prooph

时间:2017-11-13 17:04:06

标签: php symfony events cqrs prooph

我使用proophservice buses配置了所有event source event store

但是让我困惑的是一件事。我必须打电话: 我CommandBusFactory中的$eventPublisher = $this->container->get('event_publisher');将事件发射器和事件总线粘合在一起,用于将域事件(从聚合根)通过总线调度到投影仪。如果没有这个,我的预测就不会被调用。

我的服务:link

具有Symfony DI(Extension and CompilerPass)经验的人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

事件发布者不属于您的依赖关系链。这就是它没有被symfony DI初始化的原因。事件发布者是event store plugin,您已正确配置symfony DI以调用方法attachToEventStore但这不是自动完成的,而是仅在您从DI请求服务时。

要解决此问题,您需要一个事件存储工厂,它包含一个插件列表并在每个插件上调用attachToEventStore方法。 prooph/event-store-symfony-bundle包含factory