php设计模式(二)注册树

注册器模式

  1. 将全局对象注册到全局树上,将对象进行初步加载,laravel app类的三个方法就是注册器模式

    class Register {
     static protected $obj;
     
     // 将对象注册
     public function set($alias,$object) {
         self::$obj[$alias] = $object;
     }
     
     // 删除注册
     public function _unset($alias){
         unset(self::$obj[$alias])
     }
     
     public function get($alias){
         return self::$obj[$alias];
     }
    }
    
    // DataBase中可以使用Register进行注册,其他地方的调用,也可以直接使用register类get到
    class Factory {
     static function createDB(){
         Register::set('db1',new Database());
         return Register::get('db1');
     }
    }
    

你可能感兴趣的:(php设计模式)