2012-05-09 62 views
1

我正在用Symfony2做一個大型項目。前端是javascript/html5畫布。對於網站更改,我使用ajax請求。Symfony2:在每一個動作上調用控制器/文件

現在我想調用一個php文件,應該用每個用戶操作執行。有沒有一種優雅的方式來做到這一點?

爲了更好的理解:我正在做某種遊戲和php檢查,如果發生了什麼事情(招聘完成,建築物完成等)。

回答

1

看看到JMSAopBundle

+0

感謝您的提示,但有沒有使用額外捆綁的另一種解決方案? – user1383973

+0

如果你的代碼不依賴於控制器動作,那麼你可以爲'kernel.request'或'kernel.response'事件創建一個事件監聽器並在那裏執行代碼。 –

0

如果用戶操作你的意思是執行器動作(即服務器端),我會做什麼是聽kernel.controller事件: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找不到'。 –

相關問題