
說明
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單例模式的理解,希望對大家有幫助。