1、 购物车的实现办法:
① 可以把购物车的数据,给存储到 session 里面,一旦关闭浏览器,则商品数据就丢失;
②可以把购物车的数据,给存储到 cookie 里面,可以长久的保存购物车里面的数据;

③可以把购物车的数据,给存储到数据库里面,可以长久的保存购物车里面的数据;
④可以把购物车的数据,给存储到缓存里(memcache,redis),也可以长久的保存购物车的数据。
注:Session 可能会引起并发问题,如果脚本很短,这常日没有问题。但如果脚本运行韶光比较长,那就可能会产生问题。在当代 Web 运用程序开拓中,有一个非常常见的情形,便是利用 AJAX 技能在同一个页面内发送多个要求获取数据。
如果这些要求都须要利用Session,那么第一个要求到达做事器后会取得 Session 锁,其它要求就必须等待,所有要求将串行处理,纵然它们彼此之间并没有依赖关系。这将大大增加页面的相应韶光。
有一个方法可以避免这个问题,便是在利用完 Session 往后立即调用 session_write_close()方法关闭 Session。这样 Session 锁就会开释,纵然当前脚本还在等在处理。须要把稳的是,调用该方法后,当前脚本就不能进一步操作 Session 了
2、实例:京东购物车的设置,如果用户已经登录,则把购物车数据保存到数据库里面,如果没有登录,则把购物车的数据给保存到 cookie 里面,当登录时,要判断 cookie是否有购物车的数据,如果有,则把 cookie 里面的数据给移动到数据库里面。
3、提交商品到购物车:在前台模块里新建一个 CartController 掌握器,添加 addCart方法
下面用是PHP+redis实现的购物车单例类,可借鉴: