当前位置: 首页 > 图文教程 > 网络编程 > PHP > php4和php5单态模式(Singleton Pattern)写法

PHP
一键删除顽固的空文件夹 软件下载
获得Google PR值的PHP代码
解决控件遮挡问题:关于有窗口元素和无窗口元素
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
一个数据采集类
php中的一个中文字符串截取函数
自己前几天写的无限分类类
简单采集了yahoo的一些数据
回答PHPCHINA上的几个问题:URL映射
模拟flock实现文件锁定
一个捕获函数输出的函数
cache_lite试用
再次研究下cache_lite
PHP数据缓存技术
修改了一个很不错的验证码,共享之。
谈谈PHP的输入输出流
使用apache模块rewrite_module (转)
让PHP支持页面回退的两种方法[转]
mysql中存储过程、函数的一些问题

PHP 中的 php4和php5单态模式(Singleton Pattern)写法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 297 ::
收藏到网摘: n/a

单态模式(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();  
}