濮阳杆衣贸易有限公司

主頁 > 知識庫 > PHP設計模式之單例模式原理與實現(xiàn)方法分析

PHP設計模式之單例模式原理與實現(xiàn)方法分析

熱門標簽:遼寧ai電銷機器人價格 四川保險智能外呼系統(tǒng)供應商 福建銀行智能外呼系統(tǒng)價格 長沙做地圖標注公司 地圖標注專員怎么樣 電話機器人銷售主要負責什么 房產(chǎn)中介用的是什么外呼系統(tǒng) 上海做外呼線路的通信公司 寧波外呼營銷系統(tǒng)

本文實例講述了PHP設計模式之單例模式原理與實現(xiàn)方法。分享給大家供大家參考,具體如下:

一、什么是單例模式

作為對象的創(chuàng)建模式,單例模式確保某一個類只有一個實例,并且對外提供這個全局實例的訪問入口。它不會創(chuàng)建實例副本,而是會向單例類內(nèi)部存儲的實例返回一個引用。

二、PHP單例模式三要素

1. 需要一個保存類的唯一實例的靜態(tài)成員變量。

2. 構造函數(shù)和克隆函數(shù)必須聲明為私有的,防止外部程序創(chuàng)建或復制實例副本。

3. 必須提供一個訪問這個實例的公共靜態(tài)方法,從而返回唯一實例的一個引用。

三、為什么使用單例模式

使用單例模式的好處很大,以數(shù)據(jù)庫操作為例。若不采用單例模式,當程序中出現(xiàn)大量數(shù)據(jù)庫操作時,每次都要執(zhí)行new操作,每次都會消耗大量的內(nèi)存資源和系統(tǒng)資源,而且每次打開和關閉數(shù)據(jù)庫連接都是對數(shù)據(jù)庫的一種極大考驗和浪費。使用了單例模式,只需要實例化一次,不需要每次都執(zhí)行new操作,極大降低了資源的耗費。

四、單例模式示例

這里以數(shù)據(jù)庫操作為例

?php
/**
*  單例模式
**/
class Db
{
  //保存全局實例
  private static $instance;
  //數(shù)據(jù)庫連接句柄
  private $db;
  //數(shù)據(jù)庫連接參數(shù)
  const HOSTNAME = "127.0.0.1";
  const USERNAME = "root";
  const PASSWORD = "root";
  const DBNAME = "testdb";
  //私有化構造函數(shù),防止外界實例化對象
  private function __construct()
  {
    $this->db = mysqli_connect(self::HOSTNAME,self::USERNAME,
      self::PASSWORD,self::DBNAME);
  }
  //私有化克隆函數(shù),防止外界克隆對象
  private function __clone()
  {
  }
  //單例訪問統(tǒng)一入口
  public static function getInstance()
  {
    if(!(self::$instance instanceof self))
    {
      self::$instance = new self();
    }
    return self::$instance;
  }
  //數(shù)據(jù)庫查詢操作
  public function getinfo()
  {
    $sql = "select * from testtb";
    $res = mysqli_query($this->db,$sql);
    while($row = mysqli_fetch_array($res)) {
      echo $row['testcol'] . 'br />';
    }
    mysqli_free_result($res);
  }
}
$mysqli = Db::getInstance();
$mysqli->getinfo();
?>

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

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

您可能感興趣的文章:
  • php單態(tài)設計模式(單例模式)實例
  • php設計模式 Singleton(單例模式)
  • php設計模式之單例模式使用示例
  • PHP設計模式之工廠模式與單例模式
  • PHP中常用的三種設計模式詳解【單例模式、工廠模式、觀察者模式】
  • PHP設計模式之觀察者模式入門與應用案例詳解
  • PHP設計模式之中介者模式(Mediator Pattern)入門與應用案例詳解
  • PHP設計模式之迭代器(Iterator)模式入門與應用詳解
  • PHP設計模式之解釋器(Interpreter)模式入門與應用詳解
  • PHP經(jīng)典面試題之設計模式(經(jīng)常遇到)
  • php設計模式小結
  • PHP設計模式之單例模式入門與應用詳解

標簽:深圳 佛山 延安 澳門 宜春 宿遷 常德 工商登記

巨人網(wǎng)絡通訊聲明:本文標題《PHP設計模式之單例模式原理與實現(xiàn)方法分析》,本文關鍵詞  PHP,設計模式,之單例,模式,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP設計模式之單例模式原理與實現(xiàn)方法分析》相關的同類信息!
  • 本頁收集關于PHP設計模式之單例模式原理與實現(xiàn)方法分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    六盘水市| 丹巴县| 雅安市| 榆树市| 台湾省| 中阳县| 洛南县| 丁青县| 章丘市| 灵寿县| 金堂县| 望城县| 钟祥市| 盖州市| 昂仁县| 教育| 张掖市| 麻城市| 县级市| 卓尼县| 平邑县| 大英县| 普定县| 云安县| 云浮市| 乐昌市| 博兴县| 襄城县| 长岛县| 星子县| 宜都市| 太原市| 高台县| 博爱县| 武功县| 湖州市| 黄骅市| 阳山县| 乌兰浩特市| 大连市| 邹城市|