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

PHP
Web开发人员编程模型:隔离级别
采用.htaccess设置网站的压缩与缓存
PHP教程:PHP编程中的变量生存周期
PHP教程:isset() , unnset(), empty()
国外优秀的PHP开源网站内容管理系统
PHP 页面跳转到另一个页面的多种方法方法总结
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
php foreach、while性能比较
关于Appserv无法打开localhost问题的解决方法
php 魔术方法使用说明
php实现mysql同步的实现方法
php 3行代码的分页算法(求起始页和结束页)
PHP字符串 ==比较运算符的副作用
Wordpress php 分页代码
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
php self,$this,const,static,->的使用
PHP教程 基本语法
PHP教程 变量定义
PHP 处理图片的类实现代码
PHP教程 预定义变量

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 206 ::
收藏到网摘: 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();  
}