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

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

WBOY
WBOY원래의
2016-06-13 09:22:011370검색

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으로 문의하세요.