我正在开发symfony2中的购物车。我添加了产品,我正在会话中存储。为了显示购物车(位于每个页面的顶部),目前我正在执行:
$session = new Session();
在每个控制器的每个动作中。
这样做的最佳方式是什么?
答案 0 :(得分:0)
在symfony2框架中,会话作为服务公开,因此最好不要让容器自己管理会话生命周期,让容器为您完成。您也可以在自定义服务中注入此项。因此,例如,您可以在会话中设置对象,如:
通用控制器:
$user_id = $this->get('session')->set('user_id',null /*default value*/);
$this->get('session')->set('product_id',$product_id);
有关详细信息,请参阅doc。
您还可以访问树枝中的会话服务,如下所示:
{{app.session.get('product_id')}}
希望得到这个帮助。