php单例模式
单例模式相信学过php都有了解,最近准备面试,复习一下,顺便当个记录
单例模式有几个特点
- 首先需要有一个私有的静态变量来存储类的唯一实例
- 私有的构造方法,防止被从其他地方实例化
- 私有的克隆方法
- 一个可以供外部调用的公共方法
好了,下面来实现一下
/**
* 单例模式
* 有一个静态变量来保存类的唯一实例
* 构造函数和科宏函数都是私有
* 可以访问的公共方法
* 只能实例化一次
*/
class Obj
{
private static $var;
public $str = NULL;
private function __construct ()
{
$this->str = rand(1,9999);
}
private function __clone()
{
}
public static function getObj ()
{
if (!(self::$var instanceof self)) {
self::$var = new Obj();
}
return self::$var;
}
}
$a = Obj::getObj();
$b = Obj::getObj();
var_dump($a);
var_dump($b);
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »