Maison > Questions et réponses > le corps du texte
Aujourd'hui, j'ai essayé d'écrire un modèle singleton, puis j'ai instancié l'objet singleton deux fois, et je l'ai var_dumpé respectivement. Maintenant, le premier résultat est nul et le second montre le type d'objet. Que se passe-t-il ? regarde., Merci!
高洛峰2017-05-16 13:16:53
Vous devez placer l'objet singleton renvoyé en dehors du jugement if, sinon l'objet ne peut pas être renvoyé lorsque l'objet n'est pas créé pour la première fois
fonction publique statique GetConnec()
{
if(!self::$instance instanceof self)
{
self::$instance =new self;//若当前对象实例不存在
}
$temp=self::$instance; //获取当前单例
return $temp::Con() ; //调用对象私有方法连接 数据库
}
迷茫2017-05-16 13:16:53
Le premier appel ne renvoie pas le nouvel objet, il est donc nul. Le deuxième appel à singleton puisqu'un objet a été instancié la première fois, l'objet instancié pour la première fois est renvoyé et la valeur est renvoyée pour la seconde. time , la valeur de retour est l'objet instancié par le premier appel