首页 > Web开发 > 详细

php购物车类

时间:2015-11-05 16:27:46      阅读:278      评论:0      收藏:0      [点我收藏+]
    <?php 
    /**
     * 购物车类
     * 功能:
     * 添加商品
     * 删除商品
     * 商品列表
     * 查看商品
     * 商品+1
     * 商品-1
     * 商品种类
     * 商品个数
     * 商品小计
     * 商品总计
     */
    class cart{
        protected static $ins = null;
        protected $basket;
        protected function __construct(){

        }
        protected static function getIns(){
            if (self::$ins == null) {
                # code...
                self::$ins = new self();
            }
            return self::$ins;
        }
        /**/
        public static function getCar(){
            if( !isset($_SESSION[‘car‘]) || !($_SESSION[‘car‘] instanceof self) ){
                $_SESSION[‘car‘] = self::getIns();
            }
            return $_SESSION[‘car‘];
        }
        /**
         * 添加商品
         */
        public function addItems($goods_id,$goods_name,$shop_price,$goods_num,$goods_thumb){
            /*判断id是否存在*/
            if (!$this->hasItems($goods_id)) {
                # code...
                $this->basket[$goods_id] = array(
                    ‘goods_id‘=>$goods_id,
                    ‘goods_name‘=>$goods_name,
                    ‘shop_price‘=>$shop_price,
                    ‘goods_num‘=>$goods_num,
                    ‘goods_thumb‘=>$goods_thumb
                    );
            }else{
                $this->basket[$goods_id][‘goods_num‘] += $goods_num;
            }
        }
        /**
         * 删除一种商品
         */
        public function delItems($goods_id){
            if ($this->hasItems($goods_id)) {
                unset($this->basket[$goods_id]);
            }
        }
        protected function hasItems($goods_id){
            return array_key_exists($goods_id,$this->basket);
        }
        /**
         * 列出商品
         */
        public function listItems(){
            return $this->basket;
        }
        /**
         * 清空购物车
         */
        public function clear(){
            $this->basket = array();
        }
        /**
         * 计算商品种类
         */
        public function cnt(){
            return count($this->basket);
        }
        /**
         * 计算商品个数
         */
        public function getCount(){
            $count = 0;
            if (empty($this->basket)) {
                # code...
                return $count;
            }
            foreach ($this->basket as $v) {
                # code...
                $count += $v[‘goods_num‘];
            }
            return $count;
        }
        /**
         * 计算商品总价格
         */
        public function getPrice(){
            $total = 0;
            if (empty($this->basket)) {
                # code...
                return $total;
            }
            foreach ($this->basket as $v) {
                # code...
                $total += $v[‘shop_price‘]*$v[‘goods_num‘];
            }
            return $total;
        }
        /**
         * 修改商品数量
         */
        public function upItems($goods_id){
            if(!$this->hasItems($goods_id)){
                return ‘你的商品id号不存在‘;
            }else if($this->basket[$goods_id][‘goods_num‘] <= 0){
                $this->delItems($goods_id);
            }else{
                $this->basket[$goods_id][‘goods_num‘] = $goods_num;
            }
        }
        /**
         * 商品数量+1
         */
        public function addOne($goods_id){
            if(!$this->hasItems($goods_id)){
                return ‘你的商品id号不存在‘;
            }else{
                $this->basket[$goods_id][‘goods_num‘] += 1;
            }
        }
        /**
         * 商品数量-1
         */
        public function delOne($goods_id){
            if(!$this->hasItems($goods_id)){
                return ‘你的商品id号不存在‘;
            }else{
                $this->basket[$goods_id][‘goods_num‘] -= 1;
            }
        }
    }

?>

 

php购物车类

原文:http://www.cnblogs.com/zzg521/p/4939926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!