php單例模式

2021-08-03 02:27:36 字數 718 閱讀 6680

單例模式(singleton pattern 單件模式或單元素模式)

單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

單例模式是一種常見的設計模式,在計算機系統中,執行緒池、快取、日誌物件、對話方塊、印表機、資料庫操作、顯示卡的驅動程式常被設計成單例。

單例模式分3種:懶漢式單例、餓漢式單例、登記式單例。

單例模式有以下3個特點:

1.只能有乙個例項。

2.必須自行建立這個例項。

3.必須給其他物件提供這一例項。

<?php

class

user

//私有轉殖函式,防止外辦轉殖物件

private

function

__clone

() //靜態方法,單例統一訪問入口

static

public

function

getinstance

() return

self::$_instance;

}public

function

getname

() }

?>

優點:

改進系統的設計

是對全域性變數的一種改進

缺點:難於除錯

隱藏的依賴關係

無法用錯誤型別的資料覆寫乙個單例

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...