header("Content-type:text/html;charset=utf-8");
// final修饰类,则Single类不能被子类继承
final class Single{
// 声明私有的静态变量
private static $instance;
// 构造函数
private function __construct(){}
// 获取单例对象函数
static public function getInstance(){
if(!is_null(self::$instance)){
return self::$instance;
}else{
return self::$instance = new Single();
}
}
// 禁止对象的克隆,clone关键字使用时会报错
private function __clone(){
}
}
$obj1 = Single::getInstance();
var_dump($obj1);
$obj2 = Single::getInstance();
var_dump($obj2);
// 这里会报错
$obj3 = clone $obj2;
var_dump($obj3);