PHP实现单例模式
<?php
// 单利模式 三私一公
class DB
{
private static $instance;
public static function getInstance()
{
if (self::$instance instanceof self) {
return self::$instance;
} else {
self::$instance = new self();
return self::$instance;
}
}
private function __construct()
{
}
private function __clone()
{
}
}
var_dump(Db::getInstance());
var_dump(Db::getInstance());
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象,一个最好的办法就是让类自身负责保存它的唯一实例,这个类可以保证没有其他的实例被创建,并且它可以提供一个访问该实例的方法。