当前位置:首页 > 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. } 
  15. public static function getIns(){ 
  16. if(self::$ins===null){ 
  17. self::$ins = new self(); 
  18. } 
  19. return self::$ins; 
  20. } 
  21. public function setName($name){ 
  22. $this->name = $name; 
  23. } 
  24. public function getName(){ 
  25. return $this->name; 
  26. }   
  27. } 
  28. $single1 = single::getIns(); 
  29. $single2 = single::getIns(); 
  30. $single1->setName('hello world!'); 
  31. $single2->setName('hello php!'); 
  32. echo $single1->getName();//输出结果:hello php! 
  33. echo "<br/>": 
  34. echo $single2->getName();//输出结果:hello php! 
  35. /*** 
  36. * 分析:输出的结果都是hello php! 
  37. * 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值 
  38. * **/ 
  39. 运行结果: 
  40.  
  41. hello php! 
  42. hello php!

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

分享到: