婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP實現單例模式建立數據庫連接的方法分析

PHP實現單例模式建立數據庫連接的方法分析

熱門標簽:騰訊外呼管理系統 山西回撥外呼系統 青島語音外呼系統招商 岳陽外呼型呼叫中心系統在哪里 河南電銷卡外呼系統哪家強 揚州地圖標注app 百應電話機器人服務 山西探意電話機器人 昭通辦理400電話

本文實例講述了PHP實現單例模式建立數據庫連接的方法。分享給大家供大家參考,具體如下:

理解php單例模式

一、什么是單例

wiki百科:單例模式,也叫單子模式,是一種常用的軟件設計模式。 在應用這個模式時,單例對象的類必須保證只有一個實例存在。 許多時候整個系統只需要擁有一個的全局對象,這樣有利于我們協調系統整體的行為。

二、為什么用單例

實際項目中像數據庫查詢,日志輸出,全局回調,統一校驗等模塊。這些模塊功能單一,但需要多次訪問,如果能夠全局唯一,多次復用會大大提升性能。這也就是單例存在的必要性。

三、單例模式的好處

1:減少頻繁創建,節省了cpu。

2:靜態對象公用,節省了內存。

3:功能解耦,代碼已維護。

四、如何設計單例

通過上面的描述,單例的核心是,實例一次生成,全局唯一,多次調用。因此在單例模式必須包含三要素:

1:私有化構造函數,私有化clone。也就是不能new,不能clone。【唯一】

2:擁有一個靜態變量,用于保存當前的類。【唯一如何保存】

3:提供一個公共的訪問入口。【可以訪問】

五、建立數據庫連接

PS:功能上不太完整,以后再補充**__**

/**
 * 單例模式連接數據庫--面向對象
 * */
//final關鍵字阻止此類被繼承
final class sql2
{
  static $instance;
  static $connect;
  protected $result;
  //protected關鍵字阻止此類在外部進行實例化
  protected function __construct($host, $user, $password)
  {
    self::$connect = @new mysqli($host, $user, $password);
    if (self::$connect->connect_errno) {
      die(iconv('gbk', 'utf-8', self::$connect->connect_error) . '(' . self::$connect->connect_errno . ')');
    }
  }
  //protected關鍵字阻止此類在外部進行克隆
  protected function __clone()
  {
  }
  //當對象被銷毀時關閉連接
  function __destruct()
  {
    self::$connect->close();
  }
  //獲取實例
  static function getInstance($host, $user, $password)
  {
    self::$instance = self::$instance ?: new self($host, $user, $password);
    return self::$instance;
  }
  //選擇數據庫
  function set_db($db)
  {
    if (!self::$connect->select_db($db)) {
      die(iconv('gbk', 'utf-8', self::$connect->error) . '(' . self::$connect->errno . ')');
    }
  }
  //執行SQL語句
  function query($query)
  {
    if (!($re = self::$connect->query($query))) {
      die(iconv('gbk', 'utf-8', self::$connect->error) . '(' . self::$connect->errno . ')');
    }
    $this->result = $re;
    return $re;
  }
  //以數組形式返回查詢結果
  function fetch_arr($query)
  {
    $re = $this->query($query);
    $res = [];
    while ($row = $re->fetch_assoc()) {
      $res[] = $row;
    }
    return $res;
  }
  //獲取記錄數
  function get_row()
  {
    return $this->result->num_rows;
  }
}
$ins = sql2::getInstance('127.0.0.1', 'root', 'root');
$ins->set_db('houtai');
$re = $ins->fetch_arr('select * from user ');
//var_dump($re);
$ins->get_row();

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

您可能感興趣的文章:
  • PHP連接MySQL數據庫三種實現方法
  • PHP連接SQL server數據庫測試腳本運行實例
  • PHP連接MySQL數據庫操作代碼實例解析
  • 解決php用mysql方式連接數據庫出現Deprecated報錯問題
  • php pdo連接數據庫操作示例
  • PHP連接MySQL數據庫的三種方式實例分析【mysql、mysqli、pdo】
  • php連接mysql數據庫最簡單的實現方法
  • thinkphp3.2同時連接兩個數據庫的簡單方法
  • thinkPHP5框架實現多數據庫連接,跨數據連接查詢操作示例
  • 詳解PHP中的數據庫連接持久化

標簽:宜賓 黃南 銅川 婁底 鎮江 南陽 湛江 寶雞

巨人網絡通訊聲明:本文標題《PHP實現單例模式建立數據庫連接的方法分析》,本文關鍵詞  PHP,實現,單例,模式,建立,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現單例模式建立數據庫連接的方法分析》相關的同類信息!
  • 本頁收集關于PHP實現單例模式建立數據庫連接的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 盘锦市| 沙河市| 封开县| 林州市| 马山县| 南宫市| 临夏市| 黔西县| 怀化市| 望都县| 天峨县| 酒泉市| 龙里县| 广汉市| 新建县| 长顺县| 珲春市| 萨迦县| 丹阳市| 法库县| 东乡县| 颍上县| 随州市| 定安县| 祁阳县| 郸城县| 津市市| 惠水县| 绥滨县| 商都县| 鲁甸县| 新巴尔虎左旗| 阿勒泰市| 南丹县| 福泉市| 商丘市| 双牌县| 和硕县| 多伦县| 沙湾县| 金山区|