ThinkPHP引用第三方库

Thinkphp引用第三方库的方法例如引用购物车:在项目Home目录下,新建一个文件夹(以下是我自己的demo)

Tool文件夹,在Tool文件夹中创建Tool.class.php文件。这个和你控制器或者模型的创建是一致的。

<?php
namespace Home\Tool;
abstract class ACarTool{
    //向购物车添加一个商品
    abstract public function add($goods_id,$goods_name,$shop_price);

    //向购物车减少一个商品的数量,如果为0则删除
    abstract public function decr($goods_id);

    //从购物车删除某商品
    abstract public function del($goods_id);

    //列出购物车的所有东西
    abstract public function items();

    //返回购物车中有几种商品
    abstract public function calcType();

    //返回购物车中商品的个数
    abstract public function calcCnt();

    //返回购物车商品的总价格
    abstract public function calcMoney();

    //清空购物车
    abstract public function clear();
}

class AddTool extends ACarTool{

    //声明一个属性
    public $item = array();
    //单例模式
    public static $ins = null;
    public static function getIns(){
        if(self::$ins == null){
            self::$ins = new self();
        }
        return self::$ins;
    }

    final protected function __construct(){
        //session('?kache')检测是否存在session
        $this->item = session('?kache') ? session('kache') : array();
    }
    //向购物车添加一个商品
    public function add($goods_id,$goods_name,$shop_price){

        if($this->item[$goods_id]){
            $this->item[$goods_id]['num'] += 1;
        }else{
            $goods['goods_name'] = $goods_name;
        $goods['shop_price'] = $shop_price;
        $goods['num'] = 1;

        $this->item[$goods_id] = $goods;        
        }
        
    }

    //减少购物车一个商品的数量,如果到0则删除此商品
    public function decr($goods_id){

        if($this->item[$goods_id]){
            $this->item[$goods_id]['num'] -= 1;
        }
        if($this->item[$goods_id]['num'] <=0){
            $this->del($goods_id);
        }
    }

    //从购物车删除某商品
    public function del($goods_id){
        unset($this->item[$goods_id]);
    }

    //列出购物车所有的商品
    public function items(){
        return $this->item;
    }

    //返回购物车有几种物品
    public function calcType(){
        return count($this->item);
    }

    //返回购物车商品的个数
    public function calcCnt(){
        $n = 0;
        foreach ($this->item as $k => $v) {
            $n +=$v['num'];
        }
        return $n;
    }

    //返回购物车的总价格
    public function calcMoney(){

        $n = 0;
        foreach ($this->item as $k => $v) {
            $n += $v['num'] * $v['shop_price'];
        }
        return $n;
    }

    //清空购物车
    public function clear(){

         $this->item = array();
    }

    public function __destruct(){
        session('kache',$this->item);
    }
}

创建好购物车需要的类后。在需要的控制器下定义一个方法,引入第三方类库

$tool = \Home\Tool\AddTool::getIns();

 

 

转载于:https://www.cnblogs.com/Yirson/p/7146284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值