标签:
????不是一种新技术,只是别人写好的一种针对某种获取代码结构。
????单一(唯一)的一个实例,完成此种需求的代码结构就是单例模式。
第1 步:
????由于类中的__construct是pulic,所以可以任意的new对象。应该将__construct定义为私有,不允许在外部实例化对象,也就是说不允许在外部执行__constrct。
第2步:
????在类内提供一个public static函数,作为接口在类根据条件来实例化对象。
第3步:
????设置一个静态属性,用于存储首次产生的对象,该静态属性的另一个作用是用于下一次再尝试产生对象是用于判断
????在尝试使用getObj方法时,使用is_object();对self::$obj判断是否是已存储了一个对象
第4步:
将__clone()魔术方法,私有化,以禁止对产生的对象进行克隆复制。
第5步:
????
?
完整代码:
?
标签:
原文地址:http://www.cnblogs.com/nyxd/p/5360038.html