我知道我們可以在Symfony中的每個動作之前使用過濾器來創建代碼,但是在完成每個動作之後呢?一個PostExecute方法?在Symfony 1.4中的每個動作之後執行代碼
4
A
回答
1
postExecute方法在每個動作調用結束時執行。
這裏是documentation
9
您可以使用過濾器執行後,執行代碼,以及:
class myFilter extends sfFilter {
public function execute($filterChain) {
// Code that is executed before the action is executed
$filterChain->execute();
// Code that is executed after the action has been executed
}
}
這是因爲在Symfony的完整的執行是一個大的「過濾器鏈」 ......如果你看看在您的filters.yml
處,您會看到首先調用了rendering
過濾器,然後是security
過濾器,cache
過濾器,最後是execution
過濾器。 執行過濾器是實際執行請求的過濾器(調用控制器和所有內容)。
爲了說明這一點:緩存過濾器將在下鏈之前檢查緩存中是否有可用輸出,並返回該緩存。如果現在它將執行鏈中的下一個過濾器,並在返回時存儲輸出,以便後續請求可以使用高速緩存。
2
你必須在動作類中添加這個方法:
public function postExecute()
{
// do something
}
相關問題
- 1. 代碼在symfony中的每個動作之前運行
- 2. 代碼在模塊ZF2中的每個動作之前運行?
- 3. BIRT擴展在每代之後執行
- 4. Symfony 1.4中的重構代碼
- 5. 在py.test的每個測試之前和之後運行代碼?
- 6. 在symfony 1.4中複製動作
- 7. 無法在C#中的DownloadFileAsync之後執行下一個代碼?
- 8. Rails ActionController爲每個動作執行相同的代碼
- 9. 代碼在服務器上的每個頁面之前執行
- 10. 在每個請求上執行代碼
- 11. Symfony 1.4 - 強制symfony在到達驗證器之前停止執行
- 12. 在每個Wordpress的新帖子後執行php代碼
- 13. symfony 2全球路線在每一頁上執行代碼
- 14. 每10秒執行一次代碼,但在0秒後啓動
- 15. 在執行Jenkinsfile之前執行代碼
- 16. 如何編寫將在每個步驟執行後執行的代碼
- 17. 啓動後在JBoss上執行代碼
- 18. producer.close()不執行代碼之後
- 19. java字節碼操作;在每個Java代碼之後插入打印代碼
- 20. 如何在動畫之後執行代碼?
- 21. 如何在業務中的每個測試之前(或之後)運行代碼
- 22. Grails的執行代碼每個環境
- 23. 我想在ASP.NET MVC3中調用每個動作時執行代碼
- 24. 在代碼中的每次小改動之後避免鏈接
- 25. 代碼在javascript中的return語句之後執行?
- 26. 在控制器動作之前執行代碼
- 27. 在bash中的每個命令之後執行命令
- 28. 在Symfony 1.4中重置用戶密碼
- 29. 執行代碼每x秒
- 30. 對每個請求執行代碼
這是一個模塊中的每一個動作,而不是在一個應用程序。 – greg0ire