PHP單例模式

2021-10-05 22:56:06 字數 1294 閱讀 4896

1、作為物件的建立模式,單例模式確保某乙個類只有乙個例項,並且對外提供這個全域性例項的訪問入口。它不會建立例項副本,而是會向單例類內部儲存的例項返回乙個引用。

需要乙個儲存類的唯一例項的靜態成員變數。

建構函式必須宣告為私有的,防止外部程式建立或複製例項副本。

必須提供乙個訪問這個例項的公共靜態方法,從而返回唯一例項的乙個引用。

1、使用單例模式的好處很大,以資料庫操作為例,若不採用單例模式,當程式**現大量資料庫操作時,每次都要執行new操作,每次都會消耗大量的記憶體資源和系統資源,而且每次開啟和關閉資料庫連線都是對資料庫的一種極大考驗和浪費。使用了單例模式,只需要例項化一次,不需要每次都執行new操作,極大降低了資源的耗費。

1、資料庫連線的相關配置

<?php

// 資料庫連線的相關配置

define

("host"

,"127.0.0.1");

//資料庫伺服器的位址

define

("user"

,"root");

//資料庫伺服器連線的使用者名稱

define

("password"

,"123456");

//資料庫伺服器連線的密碼

define

("db"

,"db_bank");

//操作的資料庫的名稱

define

("port"

,"3306");

//資料庫伺服器占用的埠號

define

("charset"

,"utf8");

//字元編碼集

?>

2、db.dass.php檔案**

include

('./conn/db.php');

//引入資料庫配置檔案

class

dbextends

mysqli

public

static

function

getinstance()

return self:

:$instance

;//返回靜態屬性

}}

3、index檔案**

<?php

include

("class/db.dass.php");

$db=db:

:getinstance()

;var_dump

($db);

?>

PHP單例模式

模式對於oop開發人員尤其有用,因為他有助於建立穩定的api,並且仍然保持一定的靈活度。一種模式可以幫助我們定義負責完成特定任務的物件,還可以允許我們全部修改掉某個類而不用修改與這些類打交道的 前者被稱為類的職責,後者被稱為類的多型性。單例模式被當作職責模式,他用來在應用程式中建立乙個單一的功能訪問...

php單例模式

單例模式 單例類 1 建構函式需要標記為private 訪問控制 防止外部 使用new操作符建立物件 單例類不能在其他類中例項化,只能被其自身例項化 2 擁有乙個儲存類的例項的靜態成員變數 3 擁有乙個訪問這個例項的公共的靜態方法 常用getinstance 方法進行例項化單例類,通過instanc...

php 單例模式

單例模式 身份證號碼 單例類identitycardno 身份證號碼類 class identitycardno public function getinstance else return self instance private function setidentitycardno no p...