PHP 注册树模式
1.注册树模式通过将对象实例注册到一颗全局的对象树上
2.需要的时候从对象树上采摘下来使用
注册树:实现三个方法:set get _unset
class Register{
//注册树池子
protected static $objects = null;
//将对象挂到树上
public static function set($key,$object){
self::$objects[$key] = $object;
}
//从树上获取对象,如果没有的时候注册
public static function get($key){
if (!isset(self::$objects[$key])){
self::$objects[$key]= new $key;
}
return self::$objects[$key];
}
//注销
public static function _unset($key){
unset(self::$objects[$key]);
}
}
//创建一个A类
class A
{
public function abc(){
return "abcd";
}
}
//将A对象挂到树上,从树上取A的方法
$a = new \A();
\Register::set("lkl",$a);
$a = \Register::get("lkl",$a)->abc();
print_r($a);