PHP 單例模式

2022-04-06 13:19:49 字數 823 閱讀 3449

一、什麼是單例模式?

某個類是能有乙個例項物件,當自動例項化時,向整個系統提供這個例項物件

二、作用是什麼?

使用同乙個例項物件,不在new新的,減少系統資源浪費

三、特點是什麼?

final標識的類【禁止繼承】

私有建構函式【防止類外例項化】

私有轉殖方法【禁止被轉殖】

私有靜態屬性【儲存類的例項物件】

公有靜態函式【呼叫類的介面】

以上行為的目的:防止程式重新例項化【消費新的資源】

四、應用場景

常用的資料庫操作類,每一次使用資料庫褲操作類都要new乙個新的物件,對於系統和記憶體資源浪費是巨大的,並且每new乙個都要和資料庫連線,那麼資料庫的連線數很快會用完

五、示例

<?php  

final

class

single

//呼叫類的介面

static

public

function

usb()

return self::$obj

; }

public

function

fff()

//防止使用者轉殖

private

function

__clone()

}$single1 = single::usb();

$single2 = single::usb();

print_r($single1

);print_r($single2

);$single2 ->fff();

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