查看原文
单例
一般来说,单例模式常用在数据库链接时使用,当第一次调用数据库链接时,我们使用单例将类保存,那么下次调用就不再需要new数据库类了,节省了new类的资源,注意:单例模式必须实现三私一公
<?php
class Single{
private static $instance;
public $str;
//防止直接创建对象
private function __construct(){
}
//防止克隆对象
private function __clone(){
}
static public function getInstance(){
if (!self::$instance instanceof self) {
self::$instance = new self();
}
return self::$instance;
}
}
$db1 = Single::getInstance();
$db1->str = '1';
$db2 = Single::getInstance();
echo "<pre>";
print_r($db1);
print_r($db2);
?>
打印如下
Single Object
(
[str] => 1
)
Single Object
(
[str] => 1
)
上面我们第一次调用Single类时,保存再 i n s t a n c e 成 员 中 , 当 第 二 次 调 用 的 时 候 直 接 返 回 instance成员中,当第二次调用的时候直接返回 instance成员中,当第二次调用的时候直接返回instance