标签:instance classname class 静态方法 静态变量 turn 模式 实例化 size
1.单例模式
顾名思义,单例模式定义了一个对象只能有一个实例,相当于把类的控制权给到了一个单点上。
要求:
a.private的构造函数,使类无法被随意new实例化;
private function __construct{ ...... }
b.有一个静态变量,用来保存类的实例;
static public $instance;
c.有一个公共的静态方法,来访问这个实例,通常命名为getInstance;
static public function getInstance(){ if(empty(self::$instance)) self::$instance = new self(); return self::$instance; }
d.有一个private的__clone方法,防止对象被克隆;
private function __clone(){ ...... }
所以,PHP实现单例模式的代码如下:
class ClassName{ static public $instance; private function __construct(){ ...... } static public function getInstance(){ if(empty(self::$instance)) self::$instance = new self(); return self::$instance; } private function __clone(){ ...... } }
未完待续......
标签:instance classname class 静态方法 静态变量 turn 模式 实例化 size
原文地址:http://www.cnblogs.com/look-moose/p/6676250.html