本文实例讲述了php实现singleton()单例模式的方法。分享给大家供大家参考。具体实现方法如下:
common.php文件如下:
响应式黑色展台设计整站模板,自带内核安装即用,图片文本实现可视化,方便修改,支持多种内容模型及自定义功能,可根据需要自行添加。模板特点: 1、安装即用,自带人人站CMS内核及企业站展示功能(产品,新闻,案例展示等),并可根据需要增加表单 搜索等功能(自带模板) 2、支持响应式 3、前端banner轮播图文本均已进行可视化配置 4、伪静态页面生成 5、支持内容模型、多语言、自定义表单、筛选、多条件搜
0
复制代码 代码如下:
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;
}
}
?>
复制代码 代码如下:
希望本文所述对大家的PHP程序设计有所帮助。
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的实例,这就是单例模式。
你给出的代码中,单例不是同步
dao一般也是用单例模式
在DAO类中 类的成员变量是会出现如你所说的并发安全,但是一般DAO的类变量都是有关数据源连接的,一般情况下都是一样的,所以即使是并发调用也不影响。
在DAO方法中的局部变量 都是线程独立的,不存在并发冲突的问题。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号