IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Design Pattern : question implémentation DAO


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Design Pattern : question implémentation DAO
    Salut à tous,

    Le pattern DAO recommande de créer un objet DAO par table, le soucis c'est que pour récupérer des infos dans un "objet métier" O j'ai besoin d'une requete genre :

    select INFO from A join B using (id1) join C using (id2) where A.champ = 'x' et B.champ='z'

    B est une table de liaison, A/B est en 1:1 et B/C en 1:1.

    Créer un DAO pour A, B et C me parait se compliquer la vie pour rien.

    Quelqu'un a des suggestions ?

    Merci (et désolé d'avance si tout ça parait quelque peu nébuleux)

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    Personnellement, je me crée une classe Vue qui regroupe toutes le requêtes qui ne peuvent être facilement attribuées à telle ou telle table.

    Mais dans ton exemple, tu ne récupères que le champ INFO et j'attribuerais alors cette requête à la table qui contient ce champ.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message
    Bonjour,

    Personnellement, je me crée une classe Vue qui regroupe toutes le requêtes qui ne peuvent être facilement attribuées à telle ou telle table.

    Mais dans ton exemple, tu ne récupères que le champ INFO et j'attribuerais alors cette requête à la table qui contient ce champ.
    Pas bête. J'ai oublié de préciser que ces requêtes étaient uniquement des SELECT, ni Insert, ni Update ni Delete...C'est juste une requete avec 2 jointures et je voudrais éviter d'accumuler lamentablement les appels à des objets genre :

    cree objetdao 1
    cree objetdao 2 (param = objetdao 1)
    cree objetdao 3 (param = objetdao 2)

    ce qui serait ridicule et affreusement couteux.

Discussions similaires

  1. [DAO] Explication simple du design Pattern DAO
    Par zuzuu dans le forum Autres
    Réponses: 0
    Dernier message: 25/02/2009, 12h06
  2. Implémenter le design pattern Observer avec les services web
    Par Klemsy78 dans le forum Services Web
    Réponses: 1
    Dernier message: 12/02/2008, 16h51
  3. Implémentation du design pattern singleton
    Par 0pierrot0 dans le forum C++
    Réponses: 1
    Dernier message: 22/01/2008, 10h01
  4. Réponses: 3
    Dernier message: 28/08/2007, 09h13
  5. Réponses: 5
    Dernier message: 10/05/2007, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo