【发布时间】:2012-06-16 12:36:25
【问题描述】:
我正在使用 Symfony 2 编写一个小型电子商店应用程序,我需要一些方法将用户的购物车存储在会话中。我认为使用数据库不是一个好主意。
应用程序将使用 Product、Category、ShoppingCart 等实体,其中 Product 和 Category 被持久化到数据库中,用户将选择产品进入他们的购物车。
我找到了应该将实体保存到会话中的 NativeSessionStorage 类。但是没有书面的应用程序实现过程。
我是在控制器中还是在单独的类 ShoppingCart 中使用它?你能给我一个NativeSessionStorage用法的简短例子吗?
编辑: 问题设置不正确:
我们的目标不是将所有产品 ID 保存到 cookie 中。目标是在服务器端的应用程序内存中仅保存篮子(装满产品)的引用,并为用户分配适当的篮子。这甚至可以在 PHP 中做到这一点吗?
EDIT2:
使用服务有更好的解决方案吗?
【问题讨论】:
-
这通常是个坏主意,因为存储空间非常有限,您无法知道存储是否成功。我宁愿将它保存到临时表或数据库中,可能使用 redis 或 mongodb 之类的东西,然后在会话中存储购物车的密钥。