zoukankan      html  css  js  c++  java
  • 在接口中的静态方法来获取model的实例对象

    直接先上代码:

    接口代码

    abstract class BaseModel
    {
    
        /**
         * @var null
         */
        protected static $_instances = Array();
    
        /**
         * 获取实例
         * @return BaseModel $this
         */
        public static function getInstance()
        {
            $className = get_called_class();
            //验证实例数组内是否有该实例
            if (empty(self::$_instances[$className]))
            {
                self::$_instances[$className] = new static();
            }
            //返回实例
            return self::$_instances[$className];
        }
    }

    然后所有的model都集成此接口即可。

    比如:

    class UserModel extends BaseModel
    {
      
        public function getUser($uid)
        {
            return $uid;
        }
    }

    然后在控制器中使用:

    $uid = 1;
    $res = User::getInstance()->getUser($uid);
  • 相关阅读:
    数据结构 1
    MyBatis 7
    MyBatis 6
    MyBatis 5
    MaBatis 4
    MyBatis 3
    目录和文件管理
    Linux常用命令精讲
    Sentos7.4安装说明
    RIP
  • 原文地址:https://www.cnblogs.com/scrit/p/5319535.html
Copyright © 2011-2022 走看看