注册器模式

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

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

直接上代码:

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>注册模式完成~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章