PHP之单例模式

class singe{

        static procted $ins = null ;    //静态属性,存储实例化过后的对象

        //防止用户New对象,将构造函数设为Procted
        protected function __construct(){
       
        }

        static public function getIns(){
            //如果ins中有值,说明已经实例过该对象,并存储在Ins中
          if(self::$ins){
                  return self::$ins;
              }
            //否则,说明该类没有被实例化过,则new该对象
       self::$ins = new self();                                              
      return self::$ins; } }

  

 

  上述例子为单例模式,在此记录下self,this的用法。

  在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,

反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,

那么就必须使用自引用的$this。

 

 

 

posted @ 2013-07-16 19:10  SallyBin  阅读(289)  评论(0编辑  收藏  举报