單例模式確保某壹個類只有壹個實例,而且自行實例化並向整個系統提供這個實例,這個類我們稱之為單例類。單例模式的要點有三個:壹是某個類只能有壹個實例;二是它必須自行創建這個實例;三是它必須自行向整個系統提供這個實例。下面我們討論下為什麽要使用PHP單例模式?多數人都是從單例模式的字面上的意思來理解它的用途,
認為這是對系統資源的節省,
可以避免重復實例化,
是壹種"計劃生育".
而PHP每次執行完頁面都是會從內存中清理掉所有的資源.
因而PHP中的單例實際每次運行都是需要重新實例化的,
這樣就失去了單例重復實例化的意義了.
單單從這個方面來說,
PHP的單例的確有點讓各位失望.
但是單例僅僅只有這個功能和應用嗎?
答案是否定的,我們壹起來看看。1.
php的應用主要在於數據庫應用,
所以壹個應用中會存在大量的數據庫操作,
在使用面向對象的方式開發時(廢話),
如果使用單例模式,
則可以避免大量的new
操作消耗的資源。2.
如果系統中需要有壹個類來全局控制某些配置信息,
那麽使用單例模式可以很方便的實現.
這個可以參看zend
Framework的FrontController部分。