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

首頁 > 語言 > PHP > 正文

PHP工廠模式、單例模式與注冊樹模式實例詳解

2024-05-05 00:09:24
字體:
來源:轉載
供稿:網友

本文實例講述了PHP工廠模式、單例模式與注冊樹模式。分享給大家供大家參考,具體如下:

三種基本設計模式

1、工廠模式:工廠方法或者類生成對象,而不是在代碼中直接new 
2、單例模式:使某個類的對象僅允許創建一個 
3、注冊模式:全局共享和交換對象

工廠模式:

<?phpnamespace IMooc;class Factory{  static function createDatabase()  {    $db = new Database();    return $db;  }}
$db = IMooc/Factory::createDatabase();

工廠模式的好處是,避免Database這個類,在很多個php文件都進行new操作,如果Database這個類發生了一些變更(修改了名字或者參數),那這時候如果不工廠模就需要修改多出了,使用工廠模式,就只需要修改工廠方法即可。

單例模式:

<?phpnamespace IMooc;class Database{  protected $db;  private function __construct()  {  }  // 獲取數據庫操作實例  static function getInstance()  {    if(self::$db){      return self::$db;    }else{      self::$db = new self();      return self::$db;    }  }}// 無論調用多少次,只會創建一個實例$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();

注冊樹模式:

<?phpnamespace IMooc;class Register{  protected static $objects;  static function set($alias, $object)  {    self::$objects[$alias] = $object;  }  static function get($name)  {    return self::$objects[$name];  }  static function _unset($alias)  {    unset(self::$objects[$alias]);  }}$db = /IMooc/Register::get('db1');

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 拜城县| 常州市| 平和县| 兴业县| 紫阳县| 牟定县| 高平市| 隆尧县| 新竹县| 新密市| 都江堰市| 确山县| 沙雅县| 巫山县| 壤塘县| 迭部县| 河源市| 醴陵市| 农安县| 循化| 平昌县| 汪清县| 凌源市| 大关县| 视频| 兴安盟| 伊川县| 突泉县| 曲水县| 宜章县| 宁远县| 晋江市| 寿阳县| 和静县| 永济市| 邳州市| 铁岭县| 庆云县| 马公市| 香河县| 霍城县|