單例模式(Singleton Pattern)是一種常用的軟件設計模式,它確保在一個類中只存在一個實例,且該實例易于外界訪問,從而防止多個實例同時存在而導致的潛在問題。在 PHP 框架中,單例模式的實現方式如下:
class Singleton {
private function __construct() {}
}
__clone()
方法設置為私有。class Singleton {
private function __construct() {}
private function __clone() {}
}
class Singleton {
private static $instance;
private function __construct() {}
private function __clone() {}
}
class Singleton {
private static $instance;
private function __construct() {}
private function __clone() {}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
使用示例:
$singleton1 = Singleton::getInstance();
$singleton2 = Singleton::getInstance();
if ($singleton1 === $singleton2) {
echo "兩個對象是相同的實例";
} else {
echo "兩個對象不是相同的實例";
}
以上代碼會輸出 “兩個對象是相同的實例”,因為我們通過 Singleton::getInstance()
獲取的是同一個實例。這樣就實現了單例模式在 PHP 框架中的基本實現。