好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于PHP中单例模式的实现

由于我以前是做java开发的,在使用单例模式的时候,首先想到的想用饿汉式,然后发现在PHP中,有这样一个特性:因为PHP不支持在类定义时给类的成员变量赋予非基本类型的值。如表达式,new操作等等。转而想要确保这个单例模式的原子性,发现PHP中也没有像JAVA中的线程安全问题。

嘿嘿,你说PHP好不好?那么OK接下来就试试PHP的懒汉式单例模式了。

相关推荐:《PHP教程》

一、三私一公:

①、私有静态属性,又来储存生成的唯一对象

②、私有构造函数

③、私有克隆函数,防止克隆——clone

④、公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例

二、关键词instanceof

检查此变量是否为该类的对象、子类、或是实现接口。

1、一个private的__construct是必须的,单例类不能在其它类中实例化,只能被自身实例化;

2、拥有一个保存类的实例的静态成员变量;

3、一个静态的公共方法用于实例化这个类,并访问这个类的实例;

  class SingleInstance{
   
   private function _construct(){
  
   }
   
  private static $instance;
  
  private function _clone(){
 
  }
  public static function getInstance(){
 
 if(!self::$instance instanceof SingleInstance){
self::$instance=new SingleInstance();
 }
 return self ::$instance;
 
  }
  
    }

以上就是关于PHP中单例模式的实现的详细内容,更多请关注Gxlcms其它相关文章!

查看更多关于关于PHP中单例模式的实现的详细内容...

  阅读:43次