zoukankan      html  css  js  c++  java
  • ThinkPHP引用第三方库

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

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

    <?php
    namespace HomeTool;
    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 = HomeToolAddTool::getIns();

  • 相关阅读:
    gojs常用API (中文文档)
    webpack的安装
    win10如何将wps设置成默认应用
    gojs常用API-画布操作
    Access中替代case when的方法 .
    C++ 11 中的右值引用
    形参前的&&啥意思?
    【C语言学习笔记】字符串拼接的3种方法 .
    java项目打jar包
    教你用DrawLayout 实现Android 侧滑菜单
  • 原文地址:https://www.cnblogs.com/Yirson/p/7146284.html
Copyright © 2011-2022 走看看