PHP设计模式 -- 注册模式

Posted 我的开发之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP设计模式 -- 注册模式相关的知识,希望对你有一定的参考价值。

参考文章:https://segmentfault.com/a/1190000007495855

简介

注册树模式又称注册模式注册器模式。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法。和果树不同的是,果子只能采摘一次,而注册树上的实例却可以无数次获取。

使用了注册树模式后,对于实例,我们能够更好地统筹管理安排,就像使用全局变量一样的方便实用。

 

示例:

<?php

/**
 * Class Register 注册树类
 */
class Register
{
    // 树的枝干-用于储存树上的果实(实例)
    public static $objects; // array


    /**
     * 将实例插入注册树中
     *
     * @param $alias 对象别名-注册树中的名称
     * @param $object 对象实例
     */
    public static function set($alias, $object)
    {
        self::$objects[$alias] = $object;
    }


    /**
     * 从注册树中读取实例
     *
     * @param $alias 对象别名-注册树中的名称
     *
     * @return mixed 返回的对象实例
     */
    public static function get($alias)
    {
        if (isset(self::$objects[$alias])) {
            return self::$objects[$alias];
        } else {
            echo \'对象弄丢了\';
        }
    }


    /**
     * 销毁注册树中的实例
     *
     * @param $alias 对象别名-注册树中的名称
     */
    public static function _unset($alias)
    {
        unset(self::$objects[$alias]);
    }
}

Register::set(\'conf\', array(\'dbhost\' => \'127.0.0.1\'));
print_r(Register::get(\'conf\'));

结果:

 

以上是关于PHP设计模式 -- 注册模式的主要内容,如果未能解决你的问题,请参考以下文章

PHP设计模式-注册模式

php注册数模式

php设计模式之注册树模式

php实现注册树模式

php模式设计之 注册树模式

Review PHP设计模式之——注册模式