我正在Symfony 2编写一个小型电子商店应用程序,我需要一些方法来将用户的购物车存储在会话中.我认为使用数据库不是一个好主意.
应用程序将使用产品,类别,购物中心等实体,其中产品和类别将持久存储在数据库中,用户将选择产品进入其购物清单.
我发现NativeSessionStorage类应该将一个实体保存到会话中.但是,没有一个应用程序的书面实现过程.
我是否在控制器或分离的类ShoppingCart中使用?可以给我一个简短的NativeSessionStorage用法示例吗?
编辑:
问题设置不正确:
目标不是将所有产品ID保存到cookie中.目标是在服务器端的应用程序存储器中仅保存购物篮(充满产品)的参考,并为用户分配适当的购物篮.这是否可以在PHP中做到这一点?
EDIT2:
是一个更好的解决方案来使用服务?
不知道这种方式是临时存储数据的更好方式.您可以使用此实例化会话对象:
$session = $this-> get(“session”);
不要忘记你的控制器中的“使用”
use Symfony\Component\HttpFoundation\Session;
然后,当您要设置如下变量时,会话自动启动:
$session-> set(“product name”,“computer”);
这是基于使用Session类,易于理解.通常定义:
get(string $name,mixed $default = null) Returns an attribute. set(string $name,mixed $value) Sets an attribute.
另外,请查看存储数据的其他方式:Multiple SessionStorage