間のグローバルイベントリスナーを登録する方法を私は2つのバンドルを得ました。今私はこのイベントを受け取り、それに割り当てられたリスナーと適切なアクションを含むReceiverBundleで処理したいと思います。私はもちろんSenderBundleの$eventDispatcher->addListener()
にしたくありません!しかし、私は定義されたイベントのリスナーを自動的に登録したい!依存性の注入を自動的にロードされSymfony2のは、バンドル
<services>
<service id="some_listener" class="My\ReceiverBundle\Class">
<tag name="kernel.event_handler" event="something.done" method="onSomethingDone" />
</service>
</services>
:
私はとReceiverBundleでservices.xml
を作成するために考え出しました。
私はそれが仕事のようなものだと分かった。私が管理しているもの - イベントが送信された後にリスナーが登録されます。なぜ?!
イベントのデバッグツールバーの[イベント]が[リスナーが呼び出されていない]と表示されます。イベントが送信された後にリスナーが開始され、登録されたからだと思います。
登録する方法他のバンドルで動作するリスナーはありますか? Doctrine(doctrine.event_listener)では何らかの形で作られていますが、どのように処理されたのかわかりません。 :/