为了账号安全,请及时绑定邮箱和手机立即绑定

请问哪一段代码保证了不管new多少次都只有一个数据库连接(即所谓的单例模式)

有没有大神能够解释一下

正在回答

2 回答

class User { 
    //静态变量保存全局实例
    private static $_instance = null;
    //私有构造函数,防止外界实例化对象
    private function __construct() {
    }    
    //静态方法,单例统一访问入口
    static public function getInstance() {
        if (is_null ( self::$_instance ) || isset ( self::$_instance )) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
}

使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。

0 回复 有任何疑惑可以回复我~
#1

叶师傅 提问者

非常感谢!
2015-09-18 回复 有任何疑惑可以回复我~

首先将构造函数私有化(也就是无法实例化对象),必须 $user = User::getInstance()  来实例化对象,如果之前实例化过就直接return

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问哪一段代码保证了不管new多少次都只有一个数据库连接(即所谓的单例模式)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信