继续谈谈单例模式,由于一个类多次用到而要多次实例化,这种情况下就可以使用单例模式一次实例多次调用了,还是以Cat类为例
class Cat{
}
$cat = new Cat;
在其他地方要调用时同样需要实例化Cat,而当使用了单例模式之后class Cat{
private static $cat;
private function __construct(){
}
static function getInstance(){
if(empty(self::$cat)){
self::$cat = new self;
return self::$cat;
}else{
return self::$cat;
}
}
}
$cat = Cat::getInstance();
这样,当多次调用Cat的getInstance方法时,返回的依然是第一次实例化的Cat类,极为方便的减少了内存的消耗