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

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

 更新時間:2018年04月25日 10:45:28   作者:編程人,在天涯  
這篇文章主要介紹了PHP設(shè)計模式之單例模式原理與實現(xiàn)方法,簡單介紹了單例模式的概念、功能、組成并結(jié)合實例形式分析了php定義與使用單例模式的相關(guān)操作技巧,需要的朋友可以參考下

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

一、什么是單例模式

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

二、PHP單例模式三要素

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

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

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

三、為什么使用單例模式

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

四、單例模式示例

這里以數(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";
  //私有化構(gòu)造函數(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();
?>

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

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

相關(guān)文章

最新評論

班玛县| 弋阳县| 镇巴县| 图木舒克市| 建始县| 临夏县| 遵义市| 宁都县| 普陀区| 体育| 澎湖县| 通河县| 昌吉市| 舒兰市| 犍为县| 阜新市| 蚌埠市| 驻马店市| 抚远县| 徐汇区| 方山县| 依兰县| 化州市| 晋中市| 卢氏县| 郎溪县| 怀化市| 金坛市| 河东区| 余庆县| 商都县| 滁州市| 清远市| 南阳市| 德保县| 宁明县| 沅陵县| 乾安县| 宜春市| 呼玛县| 白山市|