zoukankan      html  css  js  c++  java
  • PHP商城购物车类

    <?php 
    
    
    /*
     购物车类
    */
     // session_start();
    class Cart
    {
    
        //定义一个数组来保存购物车商品
        private $iteams;
        private static $ins=null;
    
        final protected function __construct()
        {
    
            if(isset($_session['cart']))
            {
                $this->$iteams=session('cart');
            }else
            {
                $this->iteams=array();
            }
        }
        /*防克隆*/
        final protected function __clone(){}
        
    
        /*单列模式调用此类*/
        public static function getins()
        {
            if(self::$ins==null)
            {
                self::$ins=new self();
            }
            return self::$ins;
        }
    
    
        
    
    
        /*添加商品*/
        public function add($goods_id,$goods_name,$shop_price)
        {
            if(!isset($this->iteams[$goods_id]))
            {
                $row=array();
                $row['goods_name']=$goods_name;
                $row['shop_price']=$shop_price;
                $row['num']=1;
                $this->iteams[$goods_id]=$row;
            }else
            {
                $this->iteams[$goods_id]['num']+=1;
            }
            return $this->iteams;
        }
    
    
    
        /*删除商品*/
        public function del($goods_id)
        {
            unset($this->iteams[$goods_id]);
        }
    
    
        /*减少一件商品数量*/
    
        public function _num($goods_id)
        {
            if(isset($this->iteams[$goods_id]))
            {
                $this->iteams[$goods_id]['num']-=1;
                if($this->iteams[$goods_id]['num']==0)
                {
                    $this->del($goods_id);
                }
            }
            
        }
    
    
        /*计算商品总价格*/
    
        public function total_price()
        {
            $money=0.0;
            foreach($this->iteams as $v)
            {
                $money+=$v['shop_price']*$v['num'];
            }
            return $money;
        }
    
    
        /**计算商品总数量(有多少种商品)*/
        public function shop_num()
        {    
            return count($this->iteams);
    
        }
        /*列出所有商品*/
    
        public function lists_shop()
        {
            return $this->iteams;
        }
    
    
        /*清空购物车*/
    
        public function clear_cart()
        {
            $this->iteams=array();
        }
    
        /*session destory destruct 析构函数*/
        public function __destruct()
        {
            $_session['cart']=$this->iteams;
        }
    
    
    
    }
    
    $g=Cart::getins();
    $g->add('1','sanxing',55);
    $g->add('2','nokio',33.9);
    $money=$g->total_price();
    
    print_r($money);
    echo '<br/>';
    print_r($g->shop_num());
    echo '<br/>';
    print_r($g->lists_shop());
    
    
     ?>
  • 相关阅读:
    一、Flask_安装与使用
    Django_rest_framework(DRF)
    day_45_Django
    meta标签、利用媒体查询 link不同的CSS文件
    文本框设置:随内容增加而增高
    jquery 设置 html标签响应式布局
    CSS hack处理
    一些前端网址记录
    前端学习之路
    图片轮播(手动点击)
  • 原文地址:https://www.cnblogs.com/hnbiao/p/4505939.html
Copyright © 2011-2022 走看看