Bonjour,
Tu pourrais gérer un tableau static d'instances
avec comme clé le nom de la base et comme valeur l'instance qui correspond.
Dans le getInstance, il suffit de regarder si la clé (nom de la base) existe, si oui on retourne l'instance, si non, on la crée
Bonjour à tous,
voici quelque heures que je cherche l'origine d'un bug sur une de mes pages qui utilise 2 Bases de données.
En effet pour faciliter certaine opération sur phpmyadmin j'ai divisé la bd original en 2 et modifié tous les objet pour qu'ils puissent retrouvé leur petit.
Mais ce que je n'avais pas pensé, c'est que mon singleton me bloquerait.
Si dans un même programme j'utilise des objets qui ont besoin des deux bd différente, les objets qui ont besoin de la premiére bd instancié fonctionne, et ceux qui ont besoin de la seconde bd crash car la seconde instance de la bd ne se fait pas, le premiére est retourné avec les mauvaise infos. C'est normal c'est le but du singleton.
-Existerai t'il une maniére élégante et propre de permettre de crée d'autre instance pour X bd différente si elle ne sont pas déja instancié.
-Dois je crée X objet bd ou X correspond à mon nombre de bd différente.
-l'héritage est elle une solution.
Je ne sais pas quelle est la meilleur piste, le programme complet et encore relativement petit, donc il est envisageable de tout réécrire, mais s'il y avait une méthode miracle qui opererait dans l'objet bd, je serai heureux.
merci d'avance pour votre aide
Flo
6 réponses
Le pattern factory devrait t'aider ;) En clair, tu crées un objet singleton qui stocke les instances des connexions.
j'ai regardé le pattern factory, et je suis encore trop jeune pour comprendre :D
j'ai essayé avec l'idée de Huggy, et cela fonctionne nickel, pas de doublons
merci pour aide
Pour le pattern factory, c'est pas super compliqué:
@intelligid oui ça revient à ce qu'il à fait et à ce que j'ai proposé
c'est une "factory"
Pas vraiment, le pattern factory utilise un objet singleton(ou une classe statique) à part de l'objet à produire