搜索

首页  >  问答  >  正文

php - 单例模式问题

今天尝试写了一个单例模式,然后实例化两次这个单例对象,分别var_dump出来,现在结果第一个null,第二个显示是对象类型,这是怎么回事?麻烦各位老师看下,谢谢!

我想大声告诉你我想大声告诉你2753 天前553

全部回复(2)我来回复

  • 高洛峰

    高洛峰2017-05-16 13:16:53

    你应该把返回单例对象放在if判断外面不然第一次没有创建对象时无法返回对象
    static public function GetConnec()

    {
            if(!self::$instance instanceof self)
            {
                self::$instance =new self;//若当前对象实例不存在
            }
            $temp=self::$instance; //获取当前单例
            return $temp::Con() ;  //调用对象私有方法连接 数据库
    }

    回复
    0
  • 迷茫

    迷茫2017-05-16 13:16:53

    第一次调用没有将new出来的对象返回,所以为null,第二次调用singleton,由于第一次已经实例化了一个对象,则返回第一次实例化的对象,第二次又返回值,返回值为第一次调用实例化的对象

    回复
    0
  • 取消回复