search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

[PHP]Singleton pattern – 佛祖球球

在實際開發中,常會看到像下面一樣的程式碼

function getXXX(){
    $db = new DB();
    $db -> query(...);
}
function getYYY(){
    $db = new DB();
    $db -> query(...);
}

在這種狀況下,DB的物件會被重覆建立,造成系統負擔

Singleton pattern就是要解決這樣子的問題,在建立同時先判斷物件是不是已經先存在

class DB {
    private static $_instance = null;
    public static function getInstance() {
        if( self::$_instance === null ){
            self::$_instance = new self();
        }
        return self::$_instance;
    }
}
//db1 db2 皆為同一個instance
$db1 = DB::getInstance();
$db2 = DB::getInstance();

當然克服這種狀況也可以利用global來解決,不過以OOP的角度來說,還是建議使用Singleton。

Categories: PHP



熱門推薦

本文由 blogjohnsonluorg 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦