单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
定义一个私有的构造方法,可以让类无法从自身外部实例化。
<?php
header("Content-type: text/html; charset=utf-8");
class Singleton{
privatestatic$instance;
privatefunction __construct(){}
staticfunction GetInstance(){
if(empty(self::$instance)){
self::$instance=new Singleton();
}
return self::$instance;
}
}
$s1=Singleton::GetInstance();
$s2=Singleton::GetInstance();
if($s1===$s2){
echo"这是两个相同的实例";
}
else{
echo"这两个实例不同";
}
注意:在unset()该单例对象以后,重新实例化后,里面的属性值还会存在。
转载于:https://blog.51cto.com/here2142/1124269
本文介绍了单例模式的基本概念和实现方式,通过PHP代码示例展示了如何确保一个类只有一个实例,并提供了一个全局访问点。同时说明了即使在unset单例对象后,重新实例化的对象仍保留原有属性值的特点。
911

被折叠的 条评论
为什么被折叠?



