最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年06月03日 08:47:39   作者:學(xué)習(xí)筆記666  
這篇文章主要介紹了PHP工廠模式、單例模式與注冊樹模式,結(jié)合實例形式工廠模式、單例模式與注冊樹模式的基本概念、原理、實現(xiàn)方法及使用技巧,需要的朋友可以參考下

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

三種基本設(shè)計模式

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');

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

  • php 生成唯一id的幾種解決方法

    php 生成唯一id的幾種解決方法

    本篇文章介紹了“php 生成唯一id的幾種解決方法”,需要的朋友可以參考一下
    2013-03-03
  • PHP實時統(tǒng)計中文字數(shù)和區(qū)別

    PHP實時統(tǒng)計中文字數(shù)和區(qū)別

    今天小編就為大家分享一篇關(guān)于PHP統(tǒng)計實時統(tǒng)計漢字個數(shù)和區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • ThinkPHP采用模塊和操作分析

    ThinkPHP采用模塊和操作分析

    ThinkPHP采用模塊和操作的方式來執(zhí)行,首先,用戶的請求會通過入口文件生成一個應(yīng)用實例,應(yīng)用控制器(我們稱之為核心控制器)會管理整個用戶執(zhí)行的過程,并負責(zé)模塊的調(diào)度和操作的執(zhí)行,并且在最后銷毀該應(yīng)用實例。
    2011-04-04
  • php文件上傳的兩種實現(xiàn)方法

    php文件上傳的兩種實現(xiàn)方法

    這篇文章主要為大家詳細介紹了兩種php文件上傳的實現(xiàn)方法,感興趣的朋友可以參考一下
    2016-04-04
  • PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能示例

    PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能示例

    這篇文章主要介紹了PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能,結(jié)合實例形式分析了php針對xml格式數(shù)據(jù)與數(shù)組相互轉(zhuǎn)換操作技巧,需要的朋友可以參考下
    2018-03-03
  • PHP觀察者模式原理與簡單實現(xiàn)方法示例

    PHP觀察者模式原理與簡單實現(xiàn)方法示例

    這篇文章主要介紹了PHP觀察者模式原理與簡單實現(xiàn)方法,結(jié)合實例形式分析了php觀察者模式的概念、原理、實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-08-08
  • php 正則表達式小結(jié)

    php 正則表達式小結(jié)

    正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。
    2009-08-08
  • PHP 引用的概念

    PHP 引用的概念

    這篇文章主要介紹了PHP的中引用的概念,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下
    2021-04-04
  • Windows下PHP開發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)

    Windows下PHP開發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)

    這篇文章主要為大家詳細介紹了Windows下PHP開發(fā)環(huán)境搭建教程:Apache+PHP+MySQL,具有一定的實用性和參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • PHP的Socket通信之UDP通信實例

    PHP的Socket通信之UDP通信實例

    這篇文章主要介紹了PHP的Socket通信之UDP通信方法,實例分析了php基于socket實現(xiàn)UDP通信的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07

最新評論

察隅县| 潼南县| 蒙阴县| 慈溪市| 景泰县| 启东市| 卢氏县| 祁东县| 屯门区| 沁源县| 盘锦市| 呼玛县| 临沂市| 宁安市| 鄂托克前旗| 昆山市| 阿拉善盟| 沂水县| 白城市| 二连浩特市| 吴堡县| 儋州市| 淮阳县| 舞钢市| 永泰县| 逊克县| 澄城县| 十堰市| 饶阳县| 西昌市| 长汀县| 麻阳| 安岳县| 当涂县| 庆城县| 宣汉县| 盘山县| 喜德县| 蛟河市| 古丈县| 石嘴山市|