- 它们必须拥有一个构造函数,并且必须被标记为private。
- 它们拥有一个保存类的实例的静态成员变量。
- 它们拥有一个访问这个实例的公共的静态方法
- 私有的clone方法
class Sington {
private static $_instance;
private function __construct() {
}
private function __clone() {};
public static final function getInstance() {
if( ! (self::$_instance instanceof self) ) {
self::$_instance = new self();
}
return self::$_instance;
}
}