php的单例模式
2021-07-20 13:07
标签:ons 设计 资源管理器 实例化 构造 one new 限制 private 单例模式:指的是一个对象的模式,指一个类只能创建一个对象。 既然限制一个类只能创建一个对象,就是说要关闭其他创建对象的途径。 所以实现单例,必须满足一下条件: 1.不让克隆(私有克隆方法) 2.不让创建对象(私有构造方法,不能在类外部使用new关键字创建对象) 3.在类中创建对象(静态方法) 4.判断对象是否存在,如果存在返回原对象,否则创建新对象 使用单例模式好处在于可以节省资源,比如Db类设计,比如window系统常见的资源管理器。 php的单例模式 标签:ons 设计 资源管理器 实例化 构造 one new 限制 private 原文地址:http://www.cnblogs.com/lzy007/p/7055924.htmlphp
class Single{
//定义一个属性保存对象
private static $single;
//私有构造方法
private function __construct($name){
$this->name = $name;
}
//私有化克隆方法
private function __clone(){
}
//静态方法:让类进入到类的内部进行实例化得到对象
public static function getInstance($name){
//判断对象是否存在,如果存在返回原对象,否则创建新对象
if(!self::$single){
self::$single = new Single($name);
}
return self::$single;
}
}
$single = Single::getInstance(‘libai‘);
var_dump($single);$single = Single::getInstance(‘dufu‘);
var_dump($single);