今日symfonyのイベント章を見て自分で実験してみたのですが、よくわからないことが1つあります。
最初に、すべてのイベントを管理するために Eents 列挙クラスを定義しました
イベントは HomepageBundle で定義されます
リーリー次に、FileBundle でリスナーが定義されます
リーリーservice.xmlにサービスを登録します
リーリー最後に、HomepageBundle のコントローラーでイベントをトリガーしました
リーリーまず、http://localhost/fm/web/app_dev.php/home/index からアクセスします
「実行した」ログを正しく出力できるようになりました
すべて問題ないようです。イベントが正常にトリガーされ、実行されたことを示しています
デバッグバーをクリックすると、イベント項目は以下のようになります:
理解できないのは、なぜ home.homepage_visit が Not Called Listeners にあるのに、明らかに実行されているのかということです。
symfony 2 の具体的なバージョンは何ですか?
ログを書き込んだ場合は、イベント関連のコードが有効であることを意味します。
プロファイラー(デバッグバー)に表示される情報は、データコレクターを通じて収集されます。リスナーへの呼び出しが記録されない理由については、xdebug 間の対応関係を確認することをお勧めします。トークンとプロファイラー情報の詳細。
さらに、この依存関係は広すぎるため、コンテナをイベントに直接挿入しないでください。