2012-02-24 10 views
3

コントローラの@Routeのようなカスタムアノテーションを読んでみたいです。私はこのようなイベントリスナーのためにそれを使用します:私が見つけたSymfony2:私は自分の注釈リーダーをどこで起動できますか?

/** 
* @Event("some.event"); 
*/ 
public function onSomeEvent(Event $event) {} 

、私はのdocblockを分析するためのアノテーション・リーダーまたは単純なPHP-反射を使用することができます。読者を誘発するために聴くべきイベントはどれですか?あるいは、誰かが@ Route-Annotationsでどのように動作するのかのヒントを教えてくれますか?ほとんど同じロジックが必要ですが、symfonyコードを読むことで明らかにいくつかの重要な点を逃しました。

+0

あなたがそれらを読む必要があるときに依存します。コントローラが呼び出される前、後で、またはコントローラ内で実行される前に?あなたの質問を明確にする。 – meze

+0

可能な限り早く、コントローラが呼び出される前に、私はeventdispatcherを設定したいので、それを必要とします。 – Daniel

答えて

3

ControllerListenerclassのコードをSensioFrameworkExtraBundleに入れてください。 kernel.event_listenerhereとして登録されています。

このリスナーは、そのバンドルが提供するアノテーションを読み取り/解析します。 SensioFrameworkExtraBundleによって提供される注釈はhereです。

あなたのニーズを満たすために、バンドルの提供された注釈の1つを単純に模倣できるはずです。

関連する問題