首页 >php教程 >php手册 >php实现singleton()单例模式实例,singleton实例

php实现singleton()单例模式实例,singleton实例

WBOY
WBOY原创
2016-06-13 09:22:011368浏览

php实现singleton()单例模式实例,singleton实例

本文实例讲述了php实现singleton()单例模式的方法。分享给大家供大家参考。具体实现方法如下:

common.php文件如下:

复制代码 代码如下:

class CC 

private static $ins; 
public static function singleton() 
 { 
         if (!isset(self::$ins)){ 
            $c = __CLASS__; 
            self::$ins = new $c; 
         } 
         return self::$ins; 
    } 
public function EventResult($Id) 

return $Id; 


?>


index.php文件如下:

复制代码 代码如下:

 
   

 
        测试 
         
     
     
require 'common.php'; 
$objCC=CC::singleton(); 
$r=$objCC->EventResult(7); 
print_r($objCC); 
echo $r.""; 
?> 

希望本文所述对大家的PHP程序设计有所帮助。

对于JAVA中的singleton模式

package test;

public class Singleton {
private Singleton s;
private Singleton()
{

}
public static Singleton getSigleton()
{
if(s==null)s=new Singleton();
return s;
}

}
这就是一个单例模式,我想应该不用注释了,原理就是这个类的构造方法private了,所有在外边不能调用,也就不能new Singleton();得到实例,那么
想得到实例就得调用它的静态方法getSigleton();即Singleton.getSigleton();就会返回一个Singleton的实例,注意此方法中的语句,即如果你是第一次调用这个方法那么它会给你new一个实例,以后再调用得到的都是这个实例,也就是说从始至终就只有一个Singleton的实例,这就是单例模式。
 

java 单例模式 (singleton) 问题

你给出的代码中,单例不是同步
dao一般也是用单例模式
在DAO类中 类的成员变量是会出现如你所说的并发安全,但是一般DAO的类变量都是有关数据源连接的,一般情况下都是一样的,所以即使是并发调用也不影响。
在DAO方法中的局部变量 都是线程独立的,不存在并发冲突的问题。
 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn