国产探花免费观看_亚洲丰满少妇自慰呻吟_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的其他設計模式,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹江口市| 焉耆| 宜君县| 合江县| 开鲁县| 郑州市| 承德市| 沙田区| 上蔡县| 墨竹工卡县| 桐城市| 榆中县| 桦川县| 安溪县| 南昌县| 长春市| 鄂托克旗| 怀安县| 廊坊市| 建德市| 旅游| 湘潭市| 牙克石市| 卫辉市| 拜城县| 高州市| 久治县| 确山县| 开化县| 新郑市| 长春市| 金昌市| 德惠市| 华宁县| 宾阳县| 龙江县| 湛江市| 大荔县| 汾阳市| 金坛市| 许昌市|