在 PHP 中,可以通過以下方式實現(xiàn)單例模式:
class Singleton {
private static $instance;
private function __construct() {
// 私有構(gòu)造函數(shù),防止外部實例化
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
}
// 使用單例模式
$singleton1 = Singleton::getInstance();
$singleton2 = Singleton::getInstance();
var_dump($singleton1 === $singleton2); // 輸出 true,表示是同一個實例
在上面的示例中,通過私有化構(gòu)造函數(shù)和靜態(tài)方法 getInstance()
來實現(xiàn)單例模式。在 getInstance()
方法中,判斷實例是否已經(jīng)存在,如果不存在則實例化一個新對象,否則返回已有的實例。