Diğer sınıflar içinde veritabanı sınıfı yöntemleri nasıl çalıştırılır?

1 Cevap php

PHP sınıfları kullanarak yeni duyuyorum, ben sadece benim sınıf yöntemleri çoğu, bazı mysql sorguları yapmak gerekir, fark etti. Benim bağlantı ve sorguları kolları başka bir sınıf var ama nasıl ben diğer sınıflardan o sınıfı çağırma hakkında gitmeli? Tüm sınıflar benim DB sınıf yenilgi bu tür sınıfları kullanarak amacı itimat etmezse?

1 Cevap

Bu genellikle Singleton veya Fabrika desen ile çözülmüştür ...

Eğer db kullanmanız gerektiğinde, size app db nesnesini kapmak:

$db = Site::getDb();   // singleton
$db->exec('update t set i = i + 1');

getDb statik bir örneğini döndürür.

veya:

 $db = Db::getDb('dsn');   // factory
 $db->exec('update t set i = i + 1');

Varsa statik bir örneğini döndürür veya bu DSN için yeni bir db kolu oluşturur ...