一、簡介:
使得類的乙個物件成為系統的唯一例項,不會重複的去建立乙個類
常見的使用單例模式的是:資料庫類
二、三個要點:
1、單例模式的類只提供私有的建構函式 : private function __construct()
2、類定義中含有乙個該類的靜態私有物件: private static $instance=null;
3、提供了乙個靜態的公有的函式用於建立或獲取它本身的靜態私有物件: public static function getinstance()
三、簡單php**demo:
<?php/*** singleton pattern with php 單例模式
* user: dongjuntong
* date: 2017/2/9
* time: 18:21 */
class
singleton
private
function
__clone()
public
static
function
getinstance()
return self::$instance
; }
}
四、測試**:
$single1=singleton::getinstance();$single1->name='張三';
echo "name值為:
";// 張三
$single2=singleton::getinstance();
$single2->name='李四';
echo "name值為:
";//李四
echo "name值為:
";//李四
可以看出第二次的name值也變成了『李四』 說明single1 和single2 是同乙個物件。
PHP設計模式之單例模式
1 單例模式概念 單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。2 uml靜態模型 3 單...
PHP設計模式之 單例模式
class danli 建立 clone方法防止物件被複製轉殖 public function clone 單例方法,用於訪問例項的公共的靜態方法 public static function getinstance return self instance public function test...
PHP設計模式之 單例模式
單例模式 職責模式 簡單的說,乙個物件 在學習設計模式之前,需要比較了解物件導向思想 只負責乙個特定的任務 單例類 1 建構函式需要標記為 private 訪問控制 防止外部 使用 new操作符建立物件 單例類不能在其他類中例項化,只能被其自身例項化 2 擁有乙個儲存類的例項的靜態成員變數 3 擁有...