单例模式顾名思义就是创建只能实例化一次的类的一种模式,应用场景(只是举例说明):比如连接数据库、保存信息的类(可以被其他对象调用)。
单例模式只需将构造函数设为私有方法,外部就不可以直接实例化。
class Information{
private $value = array();
private static $instance;
private function __construct(){}
public static function getInstance(){
if(empty(self::$instance)){
self::$instance = new Information();
}
return self::$instance;
}
public function setValue( $key, $value ){
$this->value[$key] = $value;
}
public function getValue( $key ){
return $this->value[$key];
}
}
$info = Information::getInstance();
$info->setValue( 'name', 'php' );
unset($info);
$info = Information::getInstance();
print $info->getValue('name');
得到的值依然是php
学习于《深入PHP面向对象、模式、实践》一书,感兴趣的同学自行购买哦。