如何在不使用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. 如何在PHP中的类中获得会话变量
- 3. 获得会话类变量jquery
- 4. 如何将会话变量传递给RoR中的模型?
- 5. Symfony会话变量从php文件GetuserID
- 6. Symfony,jQuery.ajax()调用,会话变量丢失
- 7. 在xpath中获取会话变量?
- 8. 在Python中调用会话变量以获得Alexa技能
- 9. 如何获得旧会话?
- 10. 如何使用会话ID获取会话变量
- 11. 在MVC域模型库中使用会话变量
- 12. 在插件模型中设置会话变量
- 13. 在cakephp模型中使用会话变量
- 14. 如何在int类型的会话变量中处理null
- 15. 获取会话变量值
- 16. 如何在Symfony中使用会话
- 17. 如何在symfony 2.6中销毁会话?
- 18. 如何在jsp中创建会话对象和会话变量?
- 19. Cakephp在模型中获取会话变量而不使用Auth组件
- 20. 如何在PHP的子域中获取会话变量
- 21. 如何在java脚本函数中获取会话变量?
- 22. 如何在C#中的许多页面获取会话变量?
- 23. 如何在静态方法中获取会话变量的值?
- 24. 如何在ASP.NET中定义变量模拟器到会话变量
- 25. 如何获得在Symfony的
- 26. 如何获得表单中的会话?
- 27. 如何在PHP中获得$ _GET变量
- 28. 获取会话变量在meteorjs值
- 29. 捕获的Session_OnStart会话变量 - Global.asa中
- 30. 如何修改模型中的会话?
一些更多的信息将受到欢迎?你的模型需要什么样的“会话”变量?它在哪里创建/分配,需要什么地方等等。因为,当你在模型中需要'sfContext :: getInstance()'时,通常它是一个坏模型的标志,就像你说的。 –
你想做什么?如果您想在会话期间保留一些值,您可以将它们作为属性添加到用户,例如 –
您是否在寻找使用管理生成器创建的后端应用程序? – macgyver