PHP设计模式
今天写下我对注册器模式的理解。
简介
注册器模式简单来说就是将我们常常使用的对象(这些对象通常是一个生命周期内只有一个)放置到一个全局的类上面。
下面我们看个例子
    namespace Core;
    calss Register {
        private static $objs = [];
        public static function registerObj ($name, $obj) {
            return self::$objs [$name] = $obj; 
        }
        public static function getObj($name){
            return self::$objs[$name] ?? null;
        }
        public static function delObj($name)
        {
            if(isset(self::$objs[$name])){
                unset(self::$objs[$name]);
                return true;
            }
            return false;
        }
    }
    class Request{}
    class Response{}
    Register::registerObj('request', new Request);
    Register::reqisterObj('response', new Response);
    // 通过上面的注册就可以在全局的任意地方使用这个对象了
    $requset = Register::getObj('request');
ps
上面就是对注册器的理解,注册器模式是结合单例模式和工厂模式的综合体,弥补了两种模式的“不足”。
			
             
评论已关闭