PHP实现单例模式最安全的做法
作为一种常用的设计模式,单例模式被广泛的使用。那么如何设计一个单例才是最好的呢?
通常我们会这么写,网上能搜到的例子也大部分是这样:
classA
{
protectedstatic$_instance=null;
protectedfunction__construct()
{
//disallownewinstance
}
protectedfunction__clone(){
//disallowclone
}
publicfunctiongetInstance()
{
if(self::$_instance===null){
self::$_instance=newself();
}
returnself::$_instance;
}
}
classBextendsA
{
protectedstatic$_instance=null;
}
$a=A::getInstance(); $b=B::getInstance(); var_dump($a===$b);