工廠模式和策略模式有兩種方式去調用方法,一種是用工廠方法調用,一種是單例調取實例,那實際上這兩種都有一個缺點(可能也不應該稱爲缺點,也可叫不足),有一個比較好的方法就是已經創建好的這個對象,直接去取這個對象,這個就是註冊器模式。
顧名思義,註冊器模式就是將對象註冊到全局樹上,那麼他就可以被任意地方訪問。
直接上代碼:
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>註冊模式完成~
|