Tu kod apropo dziedziczenia dla lepszej wizualizacji
class Connect {
public function __construct() {
echo 'Tu sie własnie tworzy kolejny obiekt klasy Connect, a co za tym idzie kazdy kolejny obiekt, ktory on w sobie tworzy <br />'; }
}
class T1 extends Connect {}
class T2 extends Connect {}
class T3 extends Connect {}
$t1 = new T1();
$t2 = new T2();
$t3 = new T3();
Cytat
Pokazałbyś pseudokod działania?
$db = new DB(); //gdzies tam w aplikacji tworzysz sobie taki obiekt
$obiekt = new JakisObiekt($db); //gdzies tam indziej przekazujesz obiekt $db do aktualnie tworzonego obiektu. Oczywiscie konstruktor musi go odebrac.
Pomijam tu juz kwestie widocznosci zmiennej $db. To juz zupelnie inna bajka.
Ja osobiscie uzywam Rejestrow i jest mi z tym dobrze. Wszedzie tam gdzie potrzebuje to poprostu siegam po utworzony juz obiekt, ktory jest w Rejestrze.
Dodatkowo zrobilem "leniwe połączenie" czyli połączenie z bazą tworze dopiero wtedy, gdy obiekt bazy chce wykonac zapytanie, a nie w momencie tworzenia obiektu bazy. Dzieki temu, nawet pomimo faktu, ze obiekt bazy tworze na samym poczatku aplikaji, to połączenie z bazą nawiązuje dopiero wtedy gdy potrzeba, albo w ogole, jesli nie bylo takiej potrzeby