如何在不使用sfContext::getInstance()
的情況下在symfony模型中傳遞會話變量?如何在模型中獲得Symfony會話變量?
1
A
回答
2
推薦的方法被稱爲依賴注入,並且是這樣的:你創建的模型文件setUser()
方法,即節省了給定參數的私有財產:
class Foo {
private $_user;
public function setUser(myUser $user) {
$this->_user = $user;
}
// ... later:
public function save(Doctrine_Connection $conn = null) {
// use $this->_user to whatever you need
}
}
這看起來笨拙, 因爲它是。但是沒有你回答這個問題,你想做什麼?我不能給出替代方案。
推薦的文章:
- What is Dependency Injection? - 帖子一系列法比安斯基Potencier的博客
- Dependency Injection - 在設計模式中詳細討論維基百科
-1
會話變量應該存儲爲用戶的屬性。
// in an action:
$this->getUser()->setAttribute('current_order_id', $order_id);
看看如何找回來。
// later on, in another action, you can get it as:
$order_id = $this->getUser()->getAttribute('current_order_id', false);
if($order_id!==false)
{
// save to DB
} else {
$this->getUser()->setFlash('error', 'Please selected an order before you can do stuff.');
// redirect and warn the user to selected an order
$this->redirect('orders');
}
相關問題
- 1. 無法獲取會話變量值symfony
- 2. Symfony會話變量在ipad中丟失
- 3. Symfony默認會話變量
- 4. 如何在PHP中的類中獲得會話變量
- 5. 如何在Symfony操作中獲得會話ID?
- 6. Salesforce會話變量,在會話中設置並獲取變量
- 7. 獲得會話類變量jquery
- 8. 如何將會話變量傳遞給RoR中的模型?
- 9. 模型訪問會話變量?
- 10. 如何基本類型獲取存儲在asp.net會話變量
- 11. Symfony會話獲得數組值
- 12. Symfony會話變量從php文件GetuserID
- 13. Symfony,jQuery.ajax()調用,會話變量丟失
- 14. Symfony 1.4:無法設置會話變量
- 15. 在模型中獲取會話user_id
- 16. 在xpath中獲取會話變量?
- 17. 在Python中調用會話變量以獲得Alexa技能
- 18. 如何獲得會話cookie
- 19. 如何獲得舊會話?
- 20. liferay:如何從頁面類型URL獲取會話變量
- 21. Symfony:如何獲得具有給定模板的所有模型?
- 22. 如何使用會話ID獲取會話變量
- 23. 在插件模型中設置會話變量
- 24. 在cakephp模型中使用會話變量
- 25. 在MVC域模型庫中使用會話變量
- 26. Perl:如何獲得已在會話文件中使用的列表變量
- 27. 如何在symfony 2.6中銷燬會話?
- 28. 如何在Symfony中使用會話
- 29. 如何在int類型的會話變量中處理null
- 30. 如何在Mule中設置會話變量的數據類型?
一些更多的信息將受到歡迎?你的模型需要什麼樣的「會話」變量?它在哪裏創建/分配,需要什麼地方等等。因爲,當你在模型中需要'sfContext :: getInstance()'時,通常它是一個壞模型的標誌,就像你說的。 –
你想做什麼?如果您想在會話期間保留一些值,您可以將它們作爲屬性添加到用戶,例如 –
您是否在尋找使用管理生成器創建的後端應用程序? – macgyver