php设计模式篇-单例模式
实现方式一
class Singleton {
protected static $instance = null;
final protected function __construct()
{
}
public static function getInstance()
{
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
protected function __clone()
{
// TODO: Implement __clone() method.
}
}
var_dump(Singleton::getInstance() === Singleton::getInstance());
实现方式二
三私一公和instanceof
私有静态变量
私有构造函数
私有克隆函数
公共静态方法
class signleton {
private static $instance;
private function __construct()
{
}
private function __clone()
{
}
public static function getInstance()
{
if(!self::$instance instanceof self){
self::$instance = new self();
}
return self::$instance;
}
}