当前位置: 代码迷 >> 综合 >> 注册器模式
  详细解决方案

注册器模式

热度:72   发布时间:2023-09-05 19:18:53.0

工厂模式和策略模式有两种方式去调用方法,一种是用工厂方法调用,一种是单例调取实例,那实际上这两种都有一个缺点(可能也不应该称为缺点,也可叫不足),有一个比较好的方法就是已经创建好的这个对象,直接去取这个对象,这个就是注册器模式。

顾名思义,注册器模式就是将对象注册到全局树上,那么他就可以被任意地方访问。

直接上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?php

class Register

{

    static protected $objects;//全局树  array

 

    //设置

    static function set($alias,$object)

    {

        self::$objects[$alias] = $object;

    }

    //获得

    static function get($alias)

    {

        return self::$objects[$alias];

    }

    //注销

    static function _unset($alias)

    {

        unset(self::$objects[$alias]);

    }

}

 

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

print_r(Register::get('conf'));<br>注册模式完成~

  相关解决方案