php設計模式 單例模式

2022-01-19 03:00:52 字數 926 閱讀 9640

實現單例的三個關鍵點:

1、使用乙個靜態成員來保持乙個單例例項

2、乙個私有的構造方法使得該類只能在類的內部方法中被例項化

3、在例項化物件的靜態方法中,先判斷靜態變數是否已經被賦值,如果賦值則返回該靜態成員如果沒有則重新例項化賦值

4、構造方法前面使用 final 關鍵字防止被子類覆蓋建構函式

5、設定 __clone() 魔術方法防止轉殖生成新的物件

單例模式:

<?php

class

car

public

static

function getinstance($name

)

return self::$_instance

; }

public

function

getname()

//防止物件被轉殖

final

private

function

__clone()

}$car = car::getinstance("benchi");

$car1 = car::getinstance("baoma");

if($car === $car1

)else

普通例項化類:

class

car

public

function

getname()

}$car = new car("benchi");

$car1 = new car("baoma");

print_r($car->getname());

print_r($car1->getname()); //輸出

benchibaoma

php設計模式 單例模式

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

PHP設計模式 單例模式

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

PHP設計模式 單例模式

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