Birden fazla veritabanı nesneleri yönetmek ve sarma için Singleton fabrika

0 Cevap php

Ben birkaç yapısal özdeş veritabanları ile etkileşim vardır bir PHP uygulama inşa ediyorum. Ben veritabanlarına bağlantıları dağıtmak ve yinelenen bağlantı sayısını en aza indirmek için bir tek fabrika kullanmak istiyorum. Ben de birkaç fonksiyonları ile veritabanı sınıf sarmak istiyorum.

Ben tek bir sınıfta tüm bu yapabileceğini eğer son derece uygun olacaktır. Ben sadece yararlı olmak için diğer sınıfları dönmek için var gibi görünüyor gerçekleştirmek için, (o zaman iyi bir fikir gibi görünüyordu) bir tek fabrika kullanarak çalıştı. Tekiz fabrika ve veritabanı sarma işlevselliği birleştirmek için, ya da sadece başka bir sınıfta veritabanı sarma işlevleri koymak gerekir kolay bir yolu var mı?

static private $instance = array();

private function __construct($name) {
    switch ($name) {
        //select db connection
    }

    $this->db = $this->getDb();
    return;
}

protected function __clone() {

}

public static function singleton($name) {
    if (!isset(self::$instance[$name])) {
        $c = __CLASS__;
        self::$instance[$name] = new $c($name);
    }
    return self::$instance[$name];
}

public function wrapperFunction() {
    //stuff
}

0 Cevap