Hi.
Also DAOs sind, so wie ich sie verstehe und einsetze in erster Linie sowas, wie einfache Schnittstellen zwischen Anwendung und Datenbank, die alle Queries enthalten und mit sprechenden Methoden mit einfachen Parametern angesprochen werden.
PHP-Code:
$this->PageDao->moveLeft($sPageId, $sBrotherId);
$this->UserDao->update($sUserId, $aUserData);
$aPageData = $this->PageDao->getData($sPageId);
$aGroups = $this->GroupDao->getAllGroups();
Ich nehm die Daten also auch als Array entgegen. Wäre sicherlich feiner, im Falle von SELECT-Queries ein Iterator-Objekt zurückzugeben.
Die DAOs haben also nichts mit irgendwelchen Business Objects zu tun. Sie abstrahieren nur die Anfragen an die Datenbank und geben ggf. die "Tabellen" zurück.
Was du da machst, hört sich für mich eher nach dem Active Record-Pattern an. Guck dir dass einfach mal an.
Basti