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

posted @ 2020-08-27 17:06  爱搬砖的小码农  阅读(142)  评论(0编辑  收藏  举报