php模式设计之单例模式

  

单例模式是为了防止多次重复实例化,例如数据库的重复连接,造成资源浪费。

  

重点是:

  

1/一个类只有一个对象
2/类为自行创建,不能通过新来声明
3/用途:在整个系统中统一提供这一个对象。

  

写法:   

1/类中定义一个私有静态变量
2/类中只提供私有的构造函数
3/提供一个静态公有函数用来创建私有对象本身。
4/使用__clone防止克隆

  
 <代码> & lt; ? php//学习使用单例模式
  
  类Danli
  {
  
  私有静态$ db=零;
  私有静态num美元=0;
  
  私人__construct()函数
  {
  回声”对象已经构建完成:“.self:: num美元。“次\ n”;
  
  }
  
  公共静态getInstance()函数
  {
  
  如果自我(self:: $ db instanceof) {
  回声”已经实例化,不要重复实例\ n”;
  返回self:: $ db;
  其他}{
  自我::$ num +=1;
  返回self:: $ db=新的自我();
  
  }
  
  }
  
  静态功能测试()
  {
  回声”调用成功\ n”;
  }
  公共函数__clone ()
  {
  回声”不能克隆哦”;
  }
  }
  
  $ d=Danli: getInstance ();
  美元d→测试();
  $ c=Danli: getInstance ();
  $ c→测试();
  
  d=克隆c美元;// 

php模式设计之单例模式