PHP單例模式連線資料庫

2021-10-06 11:37:15 字數 1078 閱讀 4724

總體來說設計模式分為三大類:建立型模式、結構型模式、行為型模式,今天要說的時屬於建立型模式裡的單例模式

單例模式通常用於在特定的情況下可以節省資源的消耗,使用較為普遍,例如同一頁面對資料庫的多次操作,不需要去new多次從而節省了資源。

而對於php,關鍵在於其中的「instanceof」,它用來檢測乙個變數是否是某個類的乙個例項,為了防止使用者去new例項,將「__construct」函式許可權設定為private。(如果需要防止使用者進行clon,也可以重寫「__clone」方法)

下面就上個簡單的demo:

<?php

/** 單例資料庫連線

*/class

dblink

//重寫clone防止使用者進行clone

public

function

__clone()

//由類的自身來進行例項化

public

static

function

getinstance()

return

self

::$_instance;}

public

function

connect()

mysql_query

("set names utf8");

mysql_select_db

($this

->

_dbconfig

['database'],

self

::$_dbconnect);

return

self

::$_dbconnect;}

}

寫好了dblink類後,我們就可以這樣呼叫:

$a

=dblink

::getinstance()

;try

catch

(exception$e)

{echo.$e

->

getmessage()

;

php單例模式連線資料庫封裝類

單例模式有三大原則 建構函式不能為public 有乙個儲存例項的靜態成員變數 擁有訪問這個例項的公共靜態方法 基於單例模式的php資料庫連線類 class db static public function getinstance return self instance public functi...

php單例模式連線資料庫封裝類

單例模式有三大原則 建構函式不能為public 有乙個儲存例項的靜態成員變數 擁有訪問這個例項的公共靜態方法 基於單例模式的php資料庫連線類 php view plain copy class db static public function getinstance return self in...

單例 封裝PHP 資料庫連線

class mysqldb 連線資料庫 private function connect this user,this pwd or die 資料庫連線失敗 設定字元編碼 private function setcharset this query sql 選擇資料庫 private functio...