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

PHP
php 接口类与抽象类的实际作用
php google或baidu分页代码
完美解决PHP中文乱码
PHP Session变量不能传送到下一页的解决方法
Ajax+PHP 边学边练之四 表单
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
php中$this->含义分析
php操作sqlserver关于时间日期读取的小小见解
php 获取客户端的真实ip
php读取html并截取字符串的简单代码
PHP MYSQL乱码问题,使用SET NAMES utf8校正
php 一元分词算法
php smarty模版引擎中的缓存应用
PHP5 面向对象(学习记录)
php zip文件解压类代码
Asp.net 文本框全选的实现
php 无限分类的树类代码
又一个php 分页类实现代码
PHPMyadmin 配置文件详解(配置)
Ajax+PHP边学边练 之五 图片处理

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


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