单例模式
class Single{
//$ins静态属性,用来存放实例对象
static public $ins='';
protected $hash;
//1.final 构造方法,防止子类覆盖方法。2.保护私有方法,无法类外实例化。
final protected function __construct(){
$this->hash=mt_rand(1,9999);
}
//实例化对象
static public function getInstance(){
if(self::$ins instanceof self){
//存在,返回该对象
echo '存在,返回该对象';
return self::$ins;
}else{
//不存在,则创建
echo '不存在,则创建';
self::$ins=new self();
return self::$ins;
}
}
}
$s1=Single::getInstance();
$s2=Single::getInstance();
echo '<pre>';
var_dump($s1);
var_dump($s2);
echo '</pre>';
if($s1===$s2){
echo 1;
}else{
echo 0;
}