设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-06-25 14:13 所属栏目:121 来源:互联网
导读:这篇文章主要介绍了php设计模式之单例模式用法,结合具体实例形式分析了php单例模式的概念、原理、定义及使用方法,需要的朋友可以参考下。 本文实例讲述了php设计模式之单例模式用法,分享给大家供大家参考,具体如下: ?php /** * @desc 单例模式 * 目的:防
  这篇文章主要介绍了php设计模式之单例模式用法,结合具体实例形式分析了php单例模式的概念、原理、定义及使用方法,需要的朋友可以参考下。
 
  本文实例讲述了php设计模式之单例模式用法,分享给大家供大家参考,具体如下:
 
  <?php
  /**
  * @desc 单例模式
  * 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例
  * 特点:php的单例是进程中的单例,而不像java属于内存中的单例
  * **/
  class single{
  protected static $ins = null;//声明一个静态变量,用来存储类的实例
  private $name;//声明一个私有的实例变量
  /**
  * 私有化构造方法,防止不断的创建对象
  * **/
  private function __construct(){
  }
  public static function getIns(){
  if(self::$ins===null){
  self::$ins = new self();
  }
  return self::$ins;
 
     }
  public function setName($name){
  $this->name = $name;
  }
  public function getName(){
  return $this->name;
  }   
  }
  $single1 = single::getIns();
  $single2 = single::getIns();
  $single1->setName('hello world!');
  $single2->setName('hello php!');
  echo $single1->getName();//输出结果:hello php!
  echo "<br/>":
  echo $single2->getName();//输出结果:hello php!
  /***
  * 分析:输出的结果都是hello php!
  * 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值
  * **/
  运行结果:
  
  hello php!
  hello php!

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读