本文為大家介紹常用的三種php設計模式:單例模式、工廠模式、觀察者模式,具有很好的參考價值,以下跟著小編一起來看吧
一、首先來看,單例模式
所謂單例模式,即在應用程式中只會有這個類別的一個實例存在。
通常單例模式用在僅允許資料庫存取物件的實例中,從而防止開啟多個資料庫連線。
一個單例類別應包括以下幾點:
和普通類別不同,單例類別不能直接實例化,只能是由自身實例化。因此,要獲得這樣的限制效果,建構函式必須標記為private。
要讓單例類別不被直接實例化而能起到作用,就必須為其提供這樣的一個實例。因此,就必須要讓單例類別擁有一個能保存類別的實例的私人靜態成員變數和對應的一個能存取到實例的公共靜態方法。
在PHP中,為防止對單例類別物件的複製來打破單例類別的上述實作形式,通常也為基底提供一個空的私有__clone()方法。
單例模式確保某個類別只有一個實例,並且自行實例化並向整個系統提供這個實例。
單例模式是一種常見的設計模式,在電腦系統中,執行緒池、快取、日誌物件、對話方塊、印表機、資料庫操作、顯示卡的驅動程式常被設計成單例。
單例模式分3種:懶漢式單例、餓漢式單例、登記式單例。
單例模式有以下3個特點:
1.只能有一個實例。
2.必須自行建立這個實例。
3.必須給其他物件提供這一實例。
那為什麼要使用PHP單例模式?
PHP一個主要應用場合就是應用程式與資料庫打交道的場景,在一個應用中會存在大量的資料庫操作,針對資料庫句柄連接資料庫的行為,使用單例模式可以避免大量的new操作。因為每一次new操作都會消耗系統和記憶體的資源。
更多PHP常用的三種設計模式相關文章請關注PHP中文網!