单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局提供这个实例。它不会创建实例副本,而是向单例类内部存储的实例返回一个引用。
class Single{
private $name;
public static $instance;
private function __construct(){
}
public static function getInstance(){
if(!self::$instance) self::$instance = new self();
return self::$instance;
}
public function setName($name){
return $this->name = $name;
}
public function getName(){
return $this->name;
}
}
$a = Single::getinstance();
$b = Single::getinstance();
$a->setname('I am A');
$b->setname('I am B');
echo $a->getname();//I am B
echo $b->getname();//I am B
//由此可见,单例模式只有一个实例