站长论坛

标题: php4和php5单态模式(Singleton Pattern)写法 [打印本页]

作者: tznktg    时间: 2008-4-12 14:25
标题: php4和php5单态模式(Singleton Pattern)写法
单态模式(Singleton Pattern) 就是一个类Class只有一个实例存在。(Ensure a class only has one instance, and provide a global point of access to it.)
这个是php5的写法。

<?php
class SingletonPhp5{
static private $_instance=null;
function getInstance(){
  if(! self::$_instance){
   self::$_instance=new self;
  }
  return self::$_instance;
}

function __construct(){

}

function Show(){
  echo 'Singleton on Php5';
}
}

{
$Singleton=SingletonPhp5::getInstance()->Show();
}


这个是php4的写法,当然此方法在php5下也可以正常运行。 以下为引用的内容:

class SingletonPhp4{      
   function &getInstance(){           
     static $_instance=array();           
     if(empty($_instance)){               
         $_instance[]= & new SingletonPhp4();  
}           
  return $_instance[0];      

  }
         
function SingletonPhp4(){         

}         

function Show(){           
   echo 'Singleton on Php4';      
   }   
}     

{      
   $Singleton=SingletonPhp4::getInstance();      
   $Singleton->Show();   
}




欢迎光临 站长论坛 (https://tzlink.com/bbs/) Powered by Discuz! X3.2