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

PHP商城购物车类的更多相关文章

  1. Mvp快速搭建商城购物车模块

    代码地址如下:http://www.demodashi.com/demo/12834.html 前言: 说到MVP的时候其实大家都不陌生,但是涉及到实际项目中使用,还是有些无从下手.因此这里小编带着大 ...

  2. PHP购物车类

    <?php /** * 购物车类 */ session_start(); class Cart{ private static $ins = null; private $items = arr ...

  3. php之购物车类思路及代码

    <?php /* 购物车类 1.整站范围内,购物车--全局有效 解决:把购物车的信息,放在session里 2.既然全局有效,购物车的实例只有一个 解决:单例模式 技术选型:session+单例 ...

  4. JavaWeb后台购物车类的具体实现

    相信大家肯定都在电商网站买过东西,当我们看中一件喜欢又想买的东西时,这时候你又不想这么快结账,这时候你就可以放入购物车: 就像我们平时去超市买东西一样,会推着购物车去买东西: 那么我们接下来看看jav ...

  5. 3_python之路之商城购物车

    python之路之商城购物车 1.程序说明:Readme.txt 1.程序文件:storeapp_new.py userinfo.py 2.程序文件说明:storeapp_new.py-主程序 use ...

  6. 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...

  7. 用JSP实现的商城购物车模块

    这两天,在学习JSP,正好找个小模块来练练手: 下面就是实现购物车模块的页面效果截图: 图1. 产品显示页面 通过此页面进行产品选择,增加到购物车 图2 .购物车页面 图3 . 商品数量设置 好了,先 ...

  8. python学习(8)实例:写一个简单商城购物车的代码

    要求: 1.写一段商城程购物车序的代码2.用列表把商城的商品清单存储下来,存到列表 shopping_mail3.购物车的列表为shopping_cart4.用户首先输入工资金额,判断输入为数字5.用 ...

  9. mmall商城购物车模块总结

    购物车模块的设计思想 购物车的实现方式有很多,但是最常见的就三种:Cookie,Session,数据库.三种方法各有优劣,适合的场景各不相同.Cookie方法:通过把购物车中的商品数据写入Cookie ...

随机推荐

  1. Fiddler 抓取eclipse中的请求

    Fiddler 抓取eclipse中的请求 代码中添加 System.setProperty("http.proxySet", "true"); System. ...

  2. stardict词典(星际译王)

    sudo apt-get install stardict 下载词库: http://abloz.com/huzheng/stardict-dic/zh_CN/ 把下载的压缩包解压,以a为例cd /u ...

  3. (转)iOS Wow体验 - 第二章 - iOS用户体验解析(2)

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第二章译文精选的第二部分,其余章节将陆续放出.上一 ...

  4. mysql学习之五:sql语句学习3

    好吧,大家认为这样的字体还是比較好看,全部我们就换这样的字体了. INSERT INTO 语句用于向表格中插入新的行. 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) ...

  5. UltraEdit 和Notepad++ 使用ftp直接编辑linux上文件

    安装ftp服务 apt-get install vsftpd 安装完后更改相关配置文件 /etc/vsftpd.conf cp /etc/vsftpd.conf /etc/vsftpd.conf.ol ...

  6. 基础总结篇之中的一个:Activity生命周期

    子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精 ...

  7. Html与css基础

    1.html的定义 (1).html:超文本标记语言(HyperText Markup Language),它主要包括"头"(Head)和"主体"(Body)两 ...

  8. js获取浏览器滚动条距离顶端的距离

    最近在做项目的时候遇到需要用js获取滚动条距离窗口顶端的距离和js获取浏览器可视化窗口的大小,在这儿做一个整理保存:    一.jQuery获取的相关方法 jquery 获取滚动条高度 获取浏览器显示 ...

  9. MySQL percona-toolkit工具包的使用教程

    percona-toolkit工具包的使用教程之介绍和安装http://blog.chinaunix.net/uid-20639775-id-3206802.htmlpercona-toolkit工具 ...

  10. 转载 Silverlight实用窍门系列:1.Silverlight读取外部XML加载配置---(使用WebClient读取XAP包同目录下的XML文件))

    转载:程兴亮文章,地址;http://www.cnblogs.com/chengxingliang/archive/2011/02/07/1949579.html 使用WebClient读取XAP包同 ...