<?php
//hubby类仅允许被实例化一次
class Hubby{
//1.new 来创建类实例
//2.clone 来克隆当前类的实例
private function __construct(){}//构造器私有化
private function __clone(){}//克隆私有化
//创建类的内部静态属性,用于保存类的唯一实例
protected static $instance = null;
//创建一个外部接口,创建并返回当前类的唯一实例
public static function getInstance(){
if (is_null(static::$instance)) {
static::$instance = new static();
}
return static::$instance;
}
}
//从外部实例化Hubby类
$Hubby1 = Hubby::getInstance();
$Hubby2 = Hubby::getInstance();
echo ($Hubby1 instanceof Hubby )?'是':'不是';
echo "<br>";
echo ($Hubby2 instanceof Hubby )?'是':'不是';
echo "<br>";
echo ($Hubby1 ===$Hubby2) ? '完全相等':'不相等';
echo "<br>";
var_dump($Hubby1,$Hubby2);
?>