注册树模式
通过注册树模式可以更加简单快捷的获取对象,在某个地方实例化了一个对象,可以将这个对象“保存”起来,用的时候只需要提供 保存对象的时候 的那个标识即可。
举个例子:你有一个行李箱,因为某个原因,你暂时要去另外一个地方,行李暂时带着没什么用,也很麻烦,这时你可以考虑将行李存 到 行李寄存处,工作人员给一个凭证,只需要出示这个凭证就可以取行李或者告诉工作人员把行李扔了
其实上面的例子已经很明白了。下面是实现的代码:
<?php
class A{ }
class Register{
public static $obj=array();
public static function set($key,$value){
if($value){
self::$obj[$key]=$value;
} else {
echo "请指定注册的对象实例";
exit;
}
}
public static function get($key){
if(isset(self::$obj[$key])){
return self::$obj[$key];
} else {
echo "该对象未注册";
exit;
}
}
public static function delete($key){
if(isset(self::$obj[$key])){
unset(self::$obj[$key]);
} else {
echo "该对象未注册";
exit;
}
}
}
$a=new A;
Register::set("a_obj",$a);
$test=Register::get("a_obj");
var_dump($test); //object(A)#1 (0) { }
$test=Register::get("b_obj"); //该对象未注
?>
如需转载,请注明文章出处,谢谢!!!
浙公网安备 33010602011771号