我需要能夠從另一個控制器中的一個控制器提供某些請求數據。我可以創建一個服務來在一個控制器中設置數據,但是當另一個控制器觸發並獲得服務時,會創建一個新的服務實例。有什麼辦法可以使這些數據靜態並在兩個控制器之間共享?Symfony 2 - 如何在控制器之間共享數據
0
A
回答
1
只要你需要信息,在PHP中可以從一個新的請求,你會做同樣的基本的東西:在會話
- 存儲。 Symfony2爲此提供了一個很棒的會話組件。理想的數據只需在用戶導航時保存即可
- 將其存儲在數據庫中。 Symfony2支持Doctrine,使其變得非常簡單。理想的永久存儲
可選:在文件系統中
- 存儲。不推薦,除非它實際上是一個文件,但也可以。
+0
謝謝。將它存儲在文件系統或數據庫中看起來似乎有點矯枉過正。我一直在避免使用會話,因爲我堅持認爲可能有一種方法將其靜態存儲在服務中。顯然不是。 – tomchkk 2015-01-15 18:28:09
0
最後,我沒有使用會話來存儲數據,而是創建了兩條到同一控制器動作的獨立路由。我在控制器操作中添加了一個可選參數,其中一個默認值只在其中一個路由中指定。然後我可以在控制器運行時測試該參數的值。在調用此控制器操作的Twig模板中,可以使用這些路徑中的任何一個來生成路徑,具體取決於已有的變量。
一點工作,但問題解決了!
相關問題
- 1. Symfony 2在控制器之間共享數據
- 2. 如何在控制器之間共享數據?
- 3. 如何在AngularJS的控制器之間共享數據?
- 4. Rails:控制器之間共享參數
- 5. 如何共享單個控制器動作之間的數據
- 6. iOS在視圖控制器之間共享數據
- 7. Laravel在少數控制器之間共享數據
- 8. 從$ rootScope $ watch函數在控制器之間共享數據
- 9. Angularjs使用工廠在控制器之間共享數據
- 10. 在控制器之間共享數據AngularJS
- 11. 使用承諾在控制器之間共享數據?
- 12. 在控制器之間共享數據AngularJS
- 13. Angularjs:在控制器之間共享可觀察數據
- 14. 在AngularJS的控制器之間共享數據
- 15. 在不同頁面的控制器之間共享數據。角
- 16. 無法在AngularJS控制器之間共享數據?
- 17. Angularjs - 在控制器之間共享數據
- 18. 在webapi和控制器之間共享數據?
- 19. 在控制器和頁面之間共享數據
- 20. 在控制器之間共享數據 - Angularjs
- 21. AngularJS,在控制器之間共享數據
- 22. 無法在控制器之間共享數據AngularJs
- 23. AngularJS:在3個控制器之間共享數據
- 24. AngularJS在控制器之間共享異步數據
- 25. 在AngularJS和IONIC中的控制器之間共享數據
- 26. 無法在控制器之間共享數據
- 27. 在控制器之間共享數據並等待退貨
- 28. 控制器之間的共享模型
- 29. AngularJs在控制器和控制器之間共享$ scope
- 30. Sencha Touch 2在視圖和控制器之間共享事件
你是怎麼打電話給第二個控制器的?如果你正在模板中使用'{{render('xxx')}}',那麼你可以在你的第二個控制器中調用'@ request_stack'的主請求。 – qooplmao 2015-01-15 19:38:43
第二個控制器從主頁上的鏈接調用。我看不到render()是如何工作的,但我會試一試。 – tomchkk 2015-01-15 21:52:00
控制器只是一個單獨的頁面嗎?它可以通過'$ _GET'參數傳遞嗎? – qooplmao 2015-01-15 22:58:23