PHP之單例模式

2021-09-11 13:02:48 字數 1320 閱讀 4503

單例模式:也叫單態模式(好像各個地方都是叫單例!),是一種常用的軟體設計模式。這個模式規定單例物件的類必須保證這個類只能有乙個例項的存在,並提供乙個訪問它的全域性訪問點(就算new,也只能讓你new乙個物件,畢竟國內是一夫一妻制)

應用場景:

由於這個東西不是什麼新奇的玩意,我就結合高手的和我自己的理解例項說明下這個東西怎麼玩:

一切**中解釋

// 私有化

class

test

}// 暴露乙個介面給外部訪問

class

test

public

static

function

getinstance()}

// 返還物件

class

test

public

static

function

getinstance()}

// 判斷唯一性

class

test

public

static

function

getinstance

() return $obj;

}}// 設定靜態:雖然數量很少,但如果每次物件請求引用時都要檢查是否存在類的例項,將仍然需要一些開銷

class

test

public

static

function

getinstance

() return

self::$obj;

}}// 防止轉殖

class

test

// 暴露給外部, getinstance算是乙個小規範

public

static

function

getinstance

() return

self::$obj; // 返回原配

}// 根據法律龜腚 禁止轉殖物件

private __clone()

}$t1 = test::getinstance(); // 獲取這個例項化物件

$t2 = test::getinstance();

var_dump($t1===$t2); // true

複製**

有什麼不對的地方還請大神指正,也歡迎提問

php之單例模式

本週我們後台討論小組需要討論設計模式之單例模式,單例模式是最簡單的設計模式之一,於是我花了點時間研究了一下。廢話不多說,進入正題。1.定義 單例模式最初的定義出現於 設計模式 艾迪生維斯理,1994 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。2.問題 在php程式設計中,和資料庫打交道...

PHP之單例模式

之前記得有寫過php的幾種這模式。這幾天看群裡在問單列模式,覺得還是有必要再深入寫清楚下。其實單例模式很好理解滴哦 單例模式顧名思義,就是只有乙個例項,作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。單例模式的三個要點 1.某個類只能有乙個例項。2.必須...

PHP設計模式之單例模式

1 單例模式概念 單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。2 uml靜態模型 3 單...