PHP實現單例模式建立資料庫連線的方法分析

2022-09-26 03:24:08 字數 1323 閱讀 7804

理解php單例模式

一、什麼是單例

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

二、為什麼用單例

實際專案中像資料庫查詢程式設計客棧,日誌輸出,全域性**,統一校驗等模組。這些模組功能單一,但需要多次訪問,如果能夠全域性唯一,多次復用會大大提公升效能。這也就是單例存在的必要性。

三、單例模式的好處

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

2:靜態物件公用,節省了記憶體。

3:功能解耦,**已維護。

四、如何設計單例

通過上面的描述,單例的核心是,例項一次生成,全域性唯一,多次呼叫。因此在單例模式必須包含三要素:

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

2:擁有乙個靜態變數,用於儲存當前的類。【唯一如何儲存】

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

五、建立資料庫連線

ps:功能上不太完整,以後再補充*www.cppcns.com*__**

/*** 單例模式連線資料庫--物件導向

* */

//final關鍵字阻止此類被繼承

final class sql2

} //protected關鍵字阻止此類在外部進行轉殖

protected function __clone()

//當物件被銷毀時關閉連線

function __destruct()

//獲取例項

static function getinstance($host, $user, $password)

//選擇資料庫

function set_db($db)

}//執行sql語句

function query($query)

$this->result = $re;

return $re;

} //以陣列形式返回查詢結果

function fetch_arr($query)

return $res;

} //獲取記錄數

function get_row() }

$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();

單例模式實現資料庫

這邊主要是要實現乙個新庫的連線 然後用單例結合框架的db類寫了乙個資料庫連線 require once web path db db.cls.php author jixiaolong bi資料庫 只提供唯讀功能 class bidb function destruct public static ...

PHP單例模式連線資料庫

總體來說設計模式分為三大類 建立型模式 結構型模式 行為型模式,今天要說的時屬於建立型模式裡的單例模式。單例模式通常用於在特定的情況下可以節省資源的消耗,使用較為普遍,例如同一頁面對資料庫的多次操作,不需要去new多次從而節省了資源。而對於php,關鍵在於其中的 instanceof 它用來檢測乙個...

PHP實現單例模式

一.單例模式的特點 應用場景 在乙個應用中會存在大量連線資料庫的操作,如果不用單例模式,那每次都要new操作,但是每次new都會消耗大量的記憶體資源和系統資源,而且每次開啟和關閉資料庫連線都是對資料庫的一種極大考驗和浪費。二 要點 1.construct和 clone這兩個方法必須設為私有,防止外部...