搜尋

首頁  >  問答  >  主體

php - 單例模式問題

今天嘗試寫了一個單例模式,然後實例化兩次這個單例對象,分別var_dump出來,現在結果第一個null,第二個顯示是對象類型,這是怎麼回事?麻煩各位老師看下,謝謝!

#
我想大声告诉你我想大声告诉你2750 天前549

全部回覆(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
  • 取消回覆