2012-05-09 12 views
1

私はSymfony2で巨大なプロジェクトをやっています。フロントエンドはjavascript/html5 canvasです。サイトの変更については、私はajaxリクエストを使用します。Symfony2:すべてのアクションでコントローラ/ファイルを呼び出す

今、すべてのユーザーアクションで実行する必要があるphpファイルを呼び出したいと思います。それを行うエレガントな方法はありますか?

理解を深めるために:何か起こった場合(募集が完了し、建物が完成したなど)、私は何らかのゲームやPHPチェックを行っています。

答えて

1

あなたは、コントローラのアクション(つまり、サーバ側)を実行する意味のユーザアクションによって場合、私はどうなることkernel.controllerイベントに耳を傾けているJMSAopBundle

+0

ヒントはありがたいですが、余分なバンドルを使用しないで別の解決策がありますか? – user1383973

+0

あなたのコードがコントローラのアクションに依存しない場合は、 'kernel.request'または' kernel.response'イベントのイベントリスナを作成し、そのコードを実行することができます。 –

0

に見てみましょう:http://symfony.com/doc/current/book/internals.html

そうすることができますスクリプトをロードし、それがターゲットコントローラが

use Symfony\Component\HttpKernel\Event\FilterControllerEvent; 

public function onKernelController(FilterControllerEvent $event) 
{ 
    $controller = $event->getController(); 
    //... 
    // call your php file here 

    // the controller can be changed to any PHP callable 
    $event->setController($controller); 
} 

を呼び出される前に、私はあなたも、あなたが最初と最後の行を削除することができるようにコントローラを変更する必要はないと思うジュスト実行...

+1

このメソッドの詳細な説明はこちらhttp://matt.drollette.com/2012/06/calling-a-method-before-every-controller-action-in-symfony2/ – MDrollette

+0

@MDrolletteあなたのURLは ' 404見つかりませんでした。 –

関連する問題