Przybliżę trochę strukturę tegoż frameworka.
Front kontroler uruchamia kontroler np. newsów i wywołuje z niego funkcję np. getNews($id). Ten natomiast tworzy newsModel wpisuje do niego dane pobrane za pomocą newsModelDao.
<?php Front kontroler <--> news kontroler <--> newsModelDao (--> DB) <--> newsModel ?>
I tutaj mam problem - mianowicie obiekt newsModelDao potrzebuje identyfikator do obiektu sterującego bazą. Obiekt ten już istnieje, gdyż inicjowany jest na samym początku dokumentu i przechowuje w sobie identydikator połączenia. Gdyby każda klasa DAO inicjowała kolejny obiekt DB to nastąpiło by zupełnie niepotrzebne kilkukrotne połączenie z bazą. Takze obiekt DB nie powinien być dublowany. Niechciałbym również przekazywać identyfikatora do DB od front kontrolera do news kontrolera i stamtąd do newsModelDao, gdyż news kontroler nie potrzebuje tego identyfikatora sam dla siebie.
Jakie może być tego rozwiązanie? Klasa DB jako abstrakcyjna chyba nier spełniała by należycie zadania, ponieważ gdy obiekt nie jest zainicjowany to nie przechowuje id połączenia z bazą.
hmm mam nadzieję że uda wam się zrozumieć co napisałem.