說明
1.當需要保證物件只有一個實例時,單例模式非常有用。把創建物件的控制權交給了一個單一的點,應用程式隨時只存在,只存在一個實例。單例不應該在類別的外部實例。
注意
2.必須存取層級為private的建構函數,以防止類別被隨機實例化。
靜態變數必須具有保存類別實例。
必須有存取此實例的公共靜態方法。此方法通常被命名為getInstance()
必須有一個私有的空的clone方法,以防止被複製。
實例
class Single { public static $_instance; private function __construct() { } private function __clone() { } public static function getInstance() { if (!self::$_instance) { self::$_instance = new self(); } return self::$_instance; } public function sayHi() { echo "Hi n"; } } $single = Single::getInstance(); $single->sayHi();
以上就是php單例模式的理解,希望對大家有幫助。