PHP實現單例模式
<?php
// 單利模式 三私一公
class DB
{
private static $instance;
public static function getInstance()
{
if (self::$instance instanceof self) {
return self::$instance;
} else {
self::$instance = new self();
return self::$instance;
}
}
private function __construct()
{
}
private function __clone()
{
}
}
var_dump(Db::getInstance());
var_dump(Db::getInstance());
通常我們可以讓一個全局變量使得一個對象被訪問,但它不能防止你實例化多個對象,一個最好的辦法就是讓類自身負責保存它的唯一實例,這個類可以保證沒有其他的實例被創建,並且它可以提供一個訪問該實例的方法。