设计模式
思考:有一种需求,希望一个类有且只能有一个对象,这样保证对象的完整性,请问该如何实现呢? 引入:我们将这种一个类最多只能一个对象称为单例,在操作系统中这种方式需求很多,如任务管理器,而通过代码实现这中单例的设计思路我们称为单例模式 单例模式 定义:单例模式singleeton,是一种类的设计只会最多产生一个对象的设计思想 <?php class singglelon{ //设置属性来保存对象 private static $object=null; //构造方法系优化 不允许在外部实例化 private function __construct(){ echo __METHOD__; } public static function getinfo(){ // 判断对象 instanceof 是判断一个对象是否属于这个类的 或者子类 // 当前保存的object 不是singglelon对象 if(!self::$object instanceof self){ // 产生对象 self::$object=new self; } // 返回对象 return self::$object; } } $s1=singglelon::getinfo(); //返回同一个对象 var_dump($s1); $s2=singglelon::getinfo(); //返回的是同一个对象 var