php 单例模式

<?phpclassDatabase{private$_db;static$_instance;privatefunction__construct(){mysql_pc... <?php
class Database{

private $_db;
static $_instance;

private function __construct(){
mysql_pconnect('127.0.0.1','root','123456');
mysql_select_db('blog');
mysql_query('set names utf8');
}

private function __clone(){}

public static function getInstance(){
if(!self::$_instance instanceof self){
self::$_instane=new self();
}
return self::$_instance;
}

public function query($sql){
//使用$this->_db执行一个查询
return mysql_query($sql);
}

}

$db=Database::getInstance();
$db->query('select * from user');
?>

我在clone前加上function还是不对
展开
 我来答
xiii130
推荐于2017-09-21 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部

单例模式是一种常用的软件设计模式,可以保证系统中一个类只有一个实例,从而达到节约系统资源提升特殊类使用效率的目的


php实现单例模式的方法

class A {
    //静态属性
    private static $_instance;
    
    //空的克隆方法,防止被克隆
    private function __clone() {}
    
    //获取实例
    public static function getInstance() {
        if(!(self::$_instance instanceof self)) {
          self::$_instance = new A();
        }
        return self::$_instance;
    }
}

//调用
$obj = A::getInstance();
ctmaster
推荐于2017-09-12 · TA获得超过454个赞
知道小有建树答主
回答量:449
采纳率:0%
帮助的人:434万
展开全部
self::$_instane=new self();

这段应为

self::$_instance=new self();
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式