<?php
/*燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it */
class Single{
static public $Instance=null;//用于保存一个类的对象
public $hash=null;
final protected function __construct(){//final实现了不能重写,protected实现了不能new对象的功能
$this->hash = mt_rand(1,99999);//生成一个随机的数,用于判断是否是同一个对象
}
static public function setInstance(){//静态方法确保对象还没有的状态下也能调用
if(self::$Instance instanceof self){//判断是否是类的对象
return self::$Instance;
}
self::$Instance=new self();
return self::$Instance;
}
}
$men=Single::setInstance();//调用静态方法,实现了一个对象的创建
$men1=Single::setInstance();//返回的一个对象通过$hash来判断是否是同一个对象
echo "<pre>";
print_r($men);
echo '<hr/>';
print_r($men1);
echo '<hr/>';
echo "</pre>";