..........单例模式的应用:就是这个东西被多次使用,每次初始化会浪费很多资源,所以,有了单例,就是只需要一个对象。。这个对象一直存在,使用的时候直接调用。。你让他实例化多次,那还用单例模式有毛用啊。。。。
error_reporting(0);
class Authorization{
protected static $authorization = NULL;
protected static $num=0;
public static function &instance() {
if (self::$authorization == NULL){
self::$authorization = new Authorization();
self::$num++;
}
//
// 如果把上门注释掉,打开下面两行就不是单例模式,就会被多new好多次
// self::$num++;
// return new Authorization;
}
public function say(){
echo 'say--'.self::$num;
}
}
$p1=Authorization::instance();
$p2=Authorization::instance();
$p3=Authorization::instance();
echo $p1->say();
echo $p2->say();
// 另外一种单例的实现方法
if(self::$authorization instanceof self){
return self::$authorization;
}else{
self::$num++;
self::$authorization=new self();
return self::$authorization;
}
1次。他的存在就是用来限制实例化的次数的,英文名singleton。