欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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文件都進(jìn)行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如何從txt文件中讀取數(shù)據(jù)詳解

    PHP如何從txt文件中讀取數(shù)據(jù)詳解

    這篇文章主要給大家介紹了關(guān)于PHP如何從txt文件中讀取數(shù)據(jù)的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-03-03
  • php preg_match_all結(jié)合str_replace替換內(nèi)容中所有img

    php preg_match_all結(jié)合str_replace替換內(nèi)容中所有img

    最近做站的時候,采集了大量的數(shù)據(jù),但采回來的數(shù)據(jù)基本上都要經(jīng)過過濾原站保留的數(shù)據(jù),其中IMG就是一個地方。網(wǎng)站上好多這些應(yīng)用例子似乎沒有必要“秀”出來,但站已幾天沒寫日志,那就來一個吧
    2008-10-10
  • php中使用base HTTP驗證的方法

    php中使用base HTTP驗證的方法

    這篇文章主要介紹了php中使用base HTTP驗證的方法,涉及預(yù)定義服務(wù)器變量$_SERVER及header方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-04-04
  • PHP+jQuery實現(xiàn)即點即改功能示例

    PHP+jQuery實現(xiàn)即點即改功能示例

    這篇文章主要介紹了PHP+jQuery實現(xiàn)即點即改功能,涉及php數(shù)組讀取、遍歷及jQuery事件響應(yīng)與動態(tài)修改頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • php獲取twitter最新消息的方法

    php獲取twitter最新消息的方法

    這篇文章主要介紹了php獲取twitter最新消息的方法,涉及php操作curl及正則替換的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • php 出現(xiàn)Strict Standards: Only variables should be passed by reference in的解決方法

    php 出現(xiàn)Strict Standards: Only variables should be passed by r

    這個問題多半是因為引用傳遞參數(shù)引起的,解決辦法一是修改代碼不使用引用傳遞,需要的朋友可以參考下
    2017-08-08
  • PHP信號處理機(jī)制的操作代碼講解

    PHP信號處理機(jī)制的操作代碼講解

    在本篇文章里小編給大家分享了關(guān)于PHP信號處理機(jī)制的操作的相關(guān)知識點內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • PHP 二維array轉(zhuǎn)換json的實例講解

    PHP 二維array轉(zhuǎn)換json的實例講解

    今天小編就為大家分享一篇PHP 二維array轉(zhuǎn)換json的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • PHP swoole和redis異步任務(wù)實現(xiàn)方法分析

    PHP swoole和redis異步任務(wù)實現(xiàn)方法分析

    這篇文章主要介紹了PHP swoole和redis異步任務(wù)實現(xiàn)方法,結(jié)合具體實例形式對比分析了swoole和redis異步任務(wù)具體實現(xiàn)方法及區(qū)別,需要的朋友可以參考下
    2019-08-08
  • PHP數(shù)組無限分級數(shù)據(jù)的層級化處理代碼

    PHP數(shù)組無限分級數(shù)據(jù)的層級化處理代碼

    在很多朋友寫無限級分類數(shù)據(jù)時都直接使用遞歸來操作,下面我來介紹一下關(guān)于PHP無限分級代碼優(yōu)化方法,有需要的朋友可參考一下
    2012-12-12

最新評論