首页 > 代码库 > php设计模式笔记:单例模式
php设计模式笔记:单例模式
php设计模式笔记:单例模式
意图:
保证一个类仅有一个实例,并且提供一个全局访问点
单例模式有三个特点:
1、一个类只有一个实例
2、它必须自行创建这个实例
3、必须自行向整个系统提供这个实例
主要实现:
Singleton定义了一个instance操作,允许外部访问它的唯一实例,instance是一个类方法,负责创建它的唯一实例。
singleton适用场景:
1、当类只能有一个实例而且外部可以从一个公共的访问点访问它。
2、当这个唯一实例应该是通过子类化可扩展的。并且用户应该无需更改代码就能使用一个扩展的实例时。
Singleton实例:
1 <?php 2 class singleton{ 3 //静态成品变量 保存全局实例 4 private static $_instance = NULL; 5 //私有化构造方法,防止外部访问 6 private function __construct(){} 7 //防止用户克隆 8 private function __clone(){} 9 //静态工厂方法,返回此类的唯一实例10 public static function getInstance(){11 if(!(self::$_instance instanceof self)){12 self::$_instance = new self;13 }14 return self::$_instance;15 }16 //测试17 public function test(){18 echo "singleton test!";19 }20 }21 22 class Singletontest{23 public static function main(){24 $instance = singleton::getInstance();25 $instance->test();26 }27 } 28 29 Singletontest::main();30 ?>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。