php 單例模式

2021-08-31 02:45:27 字數 766 閱讀 4668

今天學到單例模式,在網上找了點資料。結合資料做的測試!

singer.php

class singer

return self::$instance; }

private function singer(){} //構造方法

private function __clone(){} //防止物件被複製或轉殖 clone()-> 複製物件 在public時 可以複製物件

function setsinger($state) //給$switch 賦值的方法

function getsinger() //取得$switch 值的方法

}

singer.php

singer::getinstance()->setsinger(1);  

$state = singer::getinstance()->getsinger()== 0 ? '已關閉' : '已開啟';

echo '狀態:'.$state;

只是擁有以下3種公共元素:

1. 必須要有私有的建構函式                                --> singer()

2. 擁有乙個儲存類例項的靜態變數                       --> $instance

3. 擁有可以訪問這個例項的公共靜態方法              --> getinstance()

PHP單例模式

模式對於oop開發人員尤其有用,因為他有助於建立穩定的api,並且仍然保持一定的靈活度。一種模式可以幫助我們定義負責完成特定任務的物件,還可以允許我們全部修改掉某個類而不用修改與這些類打交道的 前者被稱為類的職責,後者被稱為類的多型性。單例模式被當作職責模式,他用來在應用程式中建立乙個單一的功能訪問...

php單例模式

單例模式 單例類 1 建構函式需要標記為private 訪問控制 防止外部 使用new操作符建立物件 單例類不能在其他類中例項化,只能被其自身例項化 2 擁有乙個儲存類的例項的靜態成員變數 3 擁有乙個訪問這個例項的公共的靜態方法 常用getinstance 方法進行例項化單例類,通過instanc...

php 單例模式

單例模式 身份證號碼 單例類identitycardno 身份證號碼類 class identitycardno public function getinstance else return self instance private function setidentitycardno no p...