Cela peut être quelque chose de très trivial, mais je suis un novice avec certains modèles orientés objet.Utilisation d'un DAO dans un autre DAO - bonne ou mauvaise pratique?
En termes simples, est-ce une mauvaise pratique d'utiliser des méthodes d'un DAO dans un autre DAO? J'essaie de créer une entité au sein d'un DAO et trouve très difficile de créer cette entité en utilisant juste ce DAO. Alors, est-ce correct d'utiliser d'autres méthodes DAO dans l'autre DAO?
Exemple:
public function readAllUsers() {
$sql = "SELECT * FROM user";
return $this->execute($sql);
}
public function execute($sql) {
$result = mysql_query($sql, $this->getDBConnection())
or die(mysql_error());
$user = array();
if(mysql_num_rows($result) > 0) {
for($i = 0; $i < mysql_num_rows($result); $i++) {
$row = mysql_fetch_assoc($result);
$user[$i]->setUsername(row["userName"]);
...set user info...
$user[$i]->setAddresses($addressDAO->readAddressByUserId($userId));
}
}
return $user;
}
NOTE: Il y a un bon peu d'attributs comme celui-ci dans l'entité utilisatrice qui ont un à plusieurs avec l'entité elle-même (adresses, e-mails, numéros de téléphone , etc.). La requête qui serait nécessaire (avec toutes les tables de liaison utilisées) serait extrêmement complexe.
Merci,
Steve
Pouvez-vous donner un exemple? – Elijah
Exemple fourni. –