tekiz fabrika bağlantısı pdo

1 Cevap php

Hey çocuklar ben sorun bu anlamaya çalışan bir çok yaşıyorum ve birisi bazı sorularla bana yardımcı olabilir, ben sadece merak ediyordum. Ben PDO ile bir bağlantı oluşturmak gerekiyordu bazı kod bulundu. Ben olmamdı sorun fonksiyonların içinde tanımlanan bağımı sahip oldu. Birisi küresellerle önerdi ama sonra 'iyi' bir çözüme işaret http://stackoverflow.com/questions/130878/global-or-singleton-for-database-connection. Bu kod ile benim sorular şunlardır:

  1. Bağlantı fabrikanın noktası nedir? Yeni ConnectionFactory içeride ne gider (...)

  2. bağlantı tanımlanır $ db = new PDO (...); neden hiçbir try veya catch (ben hata işleme için de kullanmak) var mı? Bu daha sonra her sonraki sorgu için denemek ve yakalamak kullanmak zorunda anlamına mı geliyor?

İşte kod:

class ConnectionFactory
{
    private static $factory;
    public static function getFactory()
    {
        if (!self::$factory)
            self::$factory = new ConnectionFactory(...);
        return self::$factory;
    }

    private $db;

    public function getConnection() {
        if (!$db)
            $db = new PDO(...);
        return $db;
    }
}

function getSomething()
{
    $conn = ConnectionFactory::getFactory()->getConnection();
    .
    .
    .
}

1 Cevap

Sen fabrika gibi tasarım desen konu hakkında biraz karışık görünüyor. Belki önce PHP için genel ya da ortak desen tasarım desenleri hakkında bir kitap ya da bazı öğreticiler okumak gerekir. Sadece "php tasarım desenleri" google. Kaynakların bol bu konuda orada vardır.

Ama kısaca soru cevap:

  1. A Bağlantı Fabrikası bağımsız gerçek temel veritabanı bağlantı nesneleri üretmek için kullanılır. Basit bir PDO fabrika kendisine iletmek parametrelere dayalı ihtiyaçlarını PDO DSN bağlantı dizeleri montajını yönetmek ve PDO nesnesi kullanmak için hazır dönecekti.

  2. Çoğu durumda sorguları yürütme daha rahat yollar ile kendilerini birlikte hata işleme sağlamak daha sofistike bir veritabanı adaptör sınıfları oluşturmak için yararlıdır. Yine, bir fabrika sınıfı, daha sonra veritabanı sistemine göre doğru bağlantı nesnesi üretmek için kullanılabilir.