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);