注册树模式

本文深入探讨了注册树模式,一种允许全局对象注册和共享多个对象的设计模式。通过具体实例展示了如何在PHP中实现该模式,包括对象的注册、初始化及调用过程。

注册树模式

注册树模式也叫注册模式或注册器模式

核心思想是将多个对象注册到一个全局或指定对象中,在代码中可以随时随地调用注册到全局对象中的对象,最终目的是实现全局共享和交换对象的功能

namespace common;
class Test{
    pubcli function t()
    {
        echo 'hello word!';
    }
}
namespace common;
class Register{
    
    public static inti($class_list, $app)
    {
        foreach ($component as $item => $value) {
            $app->$item = new $value();
        }
        return $app;
    }
    
}
namespace common;
class Applicton{
    
    public static $app = null;
    
    public static function getInstance()
    {
        if (is_null(static::$self) && !(static::$self instanceof self)) {
            static::$self = new static();
        }
        return static::$self;
    }
    
}

demo: 将对象注册到$app对象中

use common\Appliction;
use common\Register;
$app = Appliction::getInstance();
$class_list = [
    'test' => 'common\Test',
];
$app = Register::init($class_list, $app);

//使用
ehco $app->test->t();
//输出 hello word!

demo: 将对象注册到全局Application静态属性中

use common\Appliction;
use common\Register;
$class_list = [
    'test' => 'common\Test',
];
Appliction::$app = Register::init($class, Appliction::$app);

//使用
echo Appliction::$app->test->t();
//输出 hello word!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值