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