当前位置:首页 > PHP教程 > php应用 > 列表

php设计模式之单例模式用法经典示例分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-19 12:59:58 浏览: 评论:0 

这篇文章主要介绍了php设计模式之单例模式用法,结合具体实例形式分析了php单例模式的概念、原理、定义及使用方法,需要的朋友可以参考下。

本文实例讲述了php设计模式之单例模式用法,分享给大家供大家参考,具体如下:

  1. <?php 
  2. /** 
  3. * @desc 单例模式 
  4. * 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例 
  5. * 特点:php的单例是进程中的单例,而不像java属于内存中的单例 
  6. * **/ 
  7. class single{ 
  8. protected static $ins = null;//声明一个静态变量,用来存储类的实例 
  9. private $name;//声明一个私有的实例变量 
  10. /** 
  11. * 私有化构造方法,防止不断的创建对象 
  12. * **/ 
  13. private function __construct(){ 
  14. public static function getIns(){ 
  15. if(self::$ins===null){ 
  16. self::$ins = new self(); 
  17. return self::$ins
  18. public function setName($name){ 
  19. $this->name = $name
  20. public function getName(){ 
  21. return $this->name; 
  22. }   
  23. $single1 = single::getIns(); 
  24. $single2 = single::getIns(); 
  25. $single1->setName('hello world!'); 
  26. $single2->setName('hello php!'); 
  27. echo $single1->getName();//输出结果:hello php! 
  28. echo "<br/>"
  29. echo $single2->getName();//输出结果:hello php! 
  30. /*** 
  31. * 分析:输出的结果都是hello php! 
  32. * 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值 
  33. * **/ 
  34. 运行结果: 
  35.  
  36. hello php! 
  37. hello php!

Tags: php设计模式 php单例模式

分享到: