Hello!
Grande réflexion que je me pose régulièrement, et dont je n'arrive toujours pas à trouver de solution parfaite... Peut etre vais-je y arriver en mélangeant plusieurs cerveaux?
Comment faites-vous pour utiliser dans vos classes des objets d'autres classe sans aucunes relations l'une avec l'autre?
L'exemple le plus frapant est la connection à la base de donnée. J'ai une classe qui me permets de faire tout mes traitements de bases de donnée. Elle s'occupe d'ouvrir les connexions quand c'est nécessaire, effectue les requetes, traite mes éléments, compte le nombre de données que j'ai, gère la pagination si besoin, etc...
De ce manière, je peux récupérer et traiter mes datas tel un objet, en sachant que tout est traiter à un seul endroit. Jusque la, c'est le pied, c'est vachement pratique...
Maintenant, comment vous faites pour accéder à cet objet BDD dans une autre classe, sans avoir de parentalisation (oula, ca se dit? :p), sans utiliser de global, et je ne parle pas de le passer en paramètre à chaque fois...
Un exemple concret est une classe menu. Classe assez basqiue, mais très chiante à la fois, car on en a toujours besoin. J'ai mon objet menu, qui contient différents détails, dont la structure, les différents niveaux, les parents, enfants, etc, etc... Mais ces informations, je dois aller les chercher dans ma base de donnée. Comment j'accède à mon objet BDD sans:
- utiliser le global $objet_bdd (<- AU SECOURS... je hais au possible les variables globales...)
- passer mon objet à mon objet (beurk...)
Je dois mettre en include ma classe BDD dans chacune de mes classe, et déclarer un objet BDD dans mon constructeur, et le garder en temps que propriété de mon objet menu? A priori, ce serait la solution la plus "propre".
Et vous, comment faites-vous ???
/discuss
Onet
Partager