欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP中工廠模式、單例模式與注冊樹模式的示例分析-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比洛寧網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式洛寧網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋洛寧地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

具體如下:

三種基本設計模式

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

工廠模式:

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

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

單例模式:

<?php
namespace IMooc;
class Database
{
  protected $db;
  private function __construct()
  {
  }
  // 獲取數(shù)據(jù)庫操作實例
  static function getInstance()
  {
    if(self::$db){
      return self::$db;
    }else{
      self::$db = new self();
      return self::$db;
    }
  }
}
// 無論調(diào)用多少次,只會創(chuàng)建一個實例
$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中工廠模式、單例模式與注冊樹模式的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設公司,,關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!

分享名稱:PHP中工廠模式、單例模式與注冊樹模式的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article26/cosgcg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作微信公眾號全網(wǎng)營銷推廣外貿(mào)建站靜態(tài)網(wǎng)站網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名