php設計模式筆記 單例模式

2021-06-23 05:42:46 字數 802 閱讀 6493

php設計模式筆記:單例模式

意圖:保證乙個類僅有乙個例項,並且提供乙個全域性訪問點

單例模式有三個特點:

1、乙個類只有乙個例項

2、它必須自行建立這個例項

3、必須自行向整個系統提供這個例項

主要實現:

singleton定義了乙個instance操作,允許外部訪問它的唯一例項,instance是乙個類方法,負責建立它的唯一例項。

singleton適用場景:

1、當類只能有乙個例項而且外部可以從乙個公共的訪問點訪問它。

2、當這個唯一例項應該是通過子類化可擴充套件的。並且使用者應該無需更改**就能使用乙個擴充套件的例項時。

singleton例項:

1

<?php

2class singleton7//

防止使用者轉殖

8private

function __clone(){}9//

靜態工廠方法,返回此類的唯一例項

10public

static

function getinstance()

14return self::$_instance;

15 }

16//

測試17

public

function test()

20 }

2122

class singletontest

27 }

2829 singletontest::main();

30 ?>

php設計模式 單例模式

靜態方法所訪問的屬性也必須是static的。靜態方法呼叫靜態變數使用方式是self 靜態變數名 靜態方法呼叫靜態方法使用方式是self 靜態方法名 類的例項可以訪問靜態方法,但不可以訪問靜態變數 package name subpackage name category name author ad...

PHP設計模式 單例模式

單例模式就是保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。通常我們可以讓乙個全域性變數使得乙個物件被訪問,但是不能防止你例項化多個變數,乙個最好的辦法就是讓類自身負責儲存它的唯一例項,這個類可以保證沒有其它例項可被建立,並且他可以提供乙個訪問該例項的方法。下面提供兩種單例模式的例子 例1 ...

PHP設計模式 單例模式

單例模式的必要性 1.目的 確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。2.要點 1 某乙個類只能有乙個例項 2 必須自行建立這個例項 3 必須自行向整個系統提供這個例項。3.作用 避免重複例項化,節省系統資源。例如在資料庫操作方面,會大量存在資料庫連線操作,單例類可以避免多次...