国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP設計模式之:注冊模式入門教程

2024-05-04 21:49:58
字體:
來源:轉載
供稿:網友

下面小編來為各位介紹一篇關于PHP設計模式之:注冊模式入門教程,希望本文章能夠幫助到各位朋友。

當你有一組全局對象被全局訪問時可能就需要用到注冊模式 (registry),它提供了在程序中有條理的存放并管理對象 (object)一種解決方案。一個“注冊模式”應該提供get() 和 set()方法來存儲和取得對象。

注冊模式通過單一的全局的對象來獲取對其它對象的引用 實例:

<?php
/**
 * PHP設計模式之注冊模式實例
 *
 
 */
class Registry {
    protected static $objects; //用于存放對象的數組
    /**
     * 將對象放到對象數組上
     * @param string $alias 別名
     * @param object $object 對象
     */
    static function set($alias, $object) {
        self::$objects[$alias] = $object;
    }
 
   /**
    * 將對象從數組上刪除
    * @param string $alias 別名
    */
    static function _unset($alias) {
        unset(self::$objects[$alias]);
    }
    /**
     * 通過別名獲取對象
     * @param string $alias 別名
     */
    static function get($alias) {
        if (array_key_exists($alias, self::$objects)) {
            return self::$objects[$alias];
        }
    }
}
class MyObject {
    public function test(){
        return 'ok';
    }
}
//結合工廠模式
class MyFactory {
    public static function factory(){
        //返回對象的實例
        $myObject =  new MyObject();
        Registry::set("myObject", $myObject);
    }
}
//調用工廠
MyFactory::factory();
//使用
echo Registry::get("myObject")->test();
Registry::_unset("myObject");
?>

好了,PHP的三種基礎模式已經介紹完了,隨后博主會繼續學習分享PHP的其他設計模式,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米泉市| 东阿县| 米脂县| 保靖县| 武功县| 洛川县| 资中县| 万荣县| 常熟市| 澄城县| 达州市| 深泽县| 鄂伦春自治旗| 兰州市| 香格里拉县| 濮阳市| 阿尔山市| 九龙县| 平和县| 盈江县| 崇义县| 和硕县| 上蔡县| 邳州市| 阜阳市| 喀喇沁旗| 宣汉县| 拉孜县| 墨竹工卡县| 梁河县| 鹤山市| 平潭县| 遂川县| 大庆市| 喀喇| 清远市| 安西县| 长春市| 乐平市| 贵溪市| 扎鲁特旗|