2017-11-13 9 views
1

すべてproophservice busesevent sourceevent storeに設定しました。Symfony DIコンテナのコンフィグレーションプロンプト

しかし、それが私を混乱させる原因の1つです。私は $eventPublisher = $this->container->get('event_publisher');を私のCommandBusFactoryに呼び出す必要があります。イベントエミッタとイベントバスを一緒にして、ドメインイベント(集約ルート)からプロジェクタへディスパッチするためにグルーします。これがなければ私の予測は呼び出されません。

マイサービス:link

はsymfonyのDI(拡張とCompilerPass)での経験を持つ誰かがそれで私を助けることができますか?

答えて

1

イベントパブリッシャーは、依存関係チェーンの一部ではありません。これがsymfony DIによって初期化されない理由です。イベントパブリッシャはevent store pluginであり、symfony DIがメソッドattachToEventStoreを呼び出すように正しく設定されていますが、これは自動的には行われませんが、DIからサービスを要求した場合のみです。

この問題を解決するには、プラグインのリストを取得し、各プラグインのattachToEventStoreメソッドを呼び出すイベントストアのファクトリが必要です。 prooph/event-store-symfony-bundleにはこのようなものが含まれていますfactory

+0

あなたは正しいです。私はEventStoreの工場を追加しました。この時点では、私が望むように働いています。ありがとうございました! :D – gargi258

関連する問題