2012-04-11 17 views

答えて

3

各コントローラアクションの開始時にコードを実行する必要がある場合は、ハンドラを書くことをお勧めします。KernelEventkernel.controllerコードがコントローラにディスパッチされる前に発生するイベント。

コードをアクションコードのどこかで実行する必要がある場合は、create your own eventとし、そのハンドラを作成します。コントローラと必要なすべてのデータをカスタムイベントオブジェクトに追加できます。

+0

よしChiborgを呼び出しています、私は、それを把握する助けに感謝しなきゃ。 –

+0

私は質問を理解していないかもしれませんが、コードのコピー/貼り付けを避けようとすると、DefaultControllerにSymfonyコントローラが拡張され、個々のコントローラがDefaultControllerを拡張するようになります。しかし、私はあなたが本当にいくつかの繰り返しコードを実行したいと思っています(@chiborgが言ったように)。 – Cerad

+0

私が必要とするのは、セッションを取得してテンプレートに送信することです。これは各コントローラの反復コードです。 '$ session = $ this-> get( 'session'); $ foo = $ session-> get( 'uid');テンプレートにセッションを取得して送信する別の方法がない限り、$ this-> render( 'template'、array( 'session' => $ foo));ありがとう。 –

0

私はまったく同じことをしています。コントローラの各アクションに許可を管理するための

、私はサービス

$this->permissions =$this->get('vendor.permissions')->checkPermission('BundleName','Profil','select',$this); 
関連する問題