<?php
/*
分析購物車:
1:你無論在本網站重新整理了多少次頁面,或者新增了多少個商品,
都要求你檢視購物車時,看到的都是一個一樣的結果
即:你打開A商品重新整理,B商品重新整理
或者說:整站範圍内,購物車--是全局有效的!
2:既然是全局有效,暗示,購物車的執行個體隻能有1個
不能說在3個頁面,買了3個商品,就形成了3個購物車執行個體,這顯然不合理
解決:單例模式
技術選型:session+單例
功能分析:
判斷商品是否存在
添加商品
删除商品
修改商品的數量
某商品數量加1
某商品數量減1
查詢購物車的商品種類
查詢購物車的商品數量
查詢購物車裡的商品總金額
傳回購物車裡的所有商品
清空購物車
*/
session_start();
class CartTool
{
private static $ins=null;
private static $items=array();
public $sign=;
protected function __construct(){
$this->sign=mt_rand(,);
}
//擷取執行個體
public static function getIns()
{
if(!(self::$ins instanceof self))
{
self::$ins=new self();
}
return self::$ins;
}
//把購物車的單例對象放發哦session裡
public static function getCart()
{
if(!isset($_SESSION['cart'])||!($_SESSION['cart'] instanceof self))
{
$_SESSION['cart']=self::getIns();
}
return $_SESSION['cart'];
}
}
:
print_r(CartTool::getCart());