亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中工廠模式、單例模式與注冊樹模式的示例分析

發布時間:2021-07-15 11:13:25 來源:億速云 閱讀:135 作者:小新 欄目:開發技術

這篇文章主要介紹了PHP中工廠模式、單例模式與注冊樹模式的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

三種基本設計模式

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

工廠模式:

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

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

單例模式:

<?php
namespace 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();

注冊樹模式:

<?php
namespace 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中工廠模式、單例模式與注冊樹模式的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

中超| 新兴县| 沾益县| 定远县| 定日县| 饶阳县| 舟山市| 乐亭县| 叶城县| 定州市| 讷河市| 道真| 沙湾县| 崇州市| 沂水县| 阿克| 突泉县| 德安县| 德昌县| 越西县| 郁南县| 荥阳市| 壤塘县| 河南省| 岐山县| 高安市| 英德市| 中江县| 资中县| 盘山县| 天峻县| 萨迦县| 梁山县| 邮箱| 合肥市| 高唐县| 五家渠市| 临夏县| 洮南市| 德兴市| 巴青县|