天天看點

購物車類-未完成

<?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());