单列模式
- 可以用在什么场景:开发工具类库中的很多工具类都应用了单例模式,比例线程池、缓存、日志对象等,它们都只需要创建一个对象。
class DB{
private static $instance;
//私有构造方法实例化 组织实例化
private function __construct(){}
public static function getInstance(){
if(self::instance instanceof self) //只要不属于这个类就进行实例化
self::$instance == new self();
return self::$instance;
}
//阻止clone
private function __clone(){}
}
$db1 = DB::getInstance();
- 要点:阻止实例化,使用静态属性来存储属性 静态方法来获取静态属性