1. 程式人生 > >PHP開發模式之-單例模式

PHP開發模式之-單例模式

padding new ack span self 元素 ati 靜態 模式

class Db{ private function __construct(){} private static $instance; public static function getInstance(){ if(!self::$instance instanceof Db){ self::$instance = new self(); } return self::$instance; } private function __clone(){} } $db1= Db::getInstance(); $db2= Db::getInstance(); $db3= Db::getInstance(); var_dump($db1); var_dump($db2); var_dump($db3);

單例模式又稱為職責模式,它用來在程序中創建一個單一功能的訪問點,通俗地說就是實例化出來的對象是唯一的。
所有的單例模式至少擁有以下三種公共元素:
1. 它們必須擁有一個構造函數,並且必須被標記為private
2. 它們擁有一個保存類的實例的靜態成員變量
3. 它們擁有一個訪問這個實例的公共的靜態方法
單例類不能再其它類中直接實例化,只能被其自身實例化。它不會創建實例副本,而是會向單例類內部存儲的實例返回一個引用。

PHP開發模式之-單例模式