POO et DB - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : POO et DB (/showthread.php?tid=4598) |
RE: POO et DB - Tho - 19-02-2010 (19-02-2010, 06:04 PM)Anthor a écrit :Citation :Micro optimization isn't worth it. Ne t'inquiète pas, ma remarque n'avait rien de sérieux.. @wildd : dans le cas de PDO, je pense qu'il vaut mieux stocker la connexion dans un attribut. Ainsi, tu as un constructeur privé, sans héritage. Bon, l'inconvénient est qu'il faut redéfinir toutes les méthodes... Mais ce n'est qu'un détail. Faites pas attention, pas lu tout le sujet --' RE: POO et DB - Anthor - 19-02-2010 (19-02-2010, 07:23 PM)wildd a écrit :(19-02-2010, 05:57 PM)Anthor a écrit : Tu peux aussi faire un pseudo Singleton avec un constructeur publique, mais je le dis très bas, car ça ne serait plus du tout un singleton ^^ En quoi dans l'exemple donné tu dois redonner les méthodes ? RE: POO et DB - QuentinC - 19-02-2010 JE ne vois pas le problème d'avoir un $db global. Le seul avantage que je vois à un singleton, c'est qu'avec le singleton on ne se connecte que quand c'est nécessaire, alors qu'avec une globale on se connecte de toute façon. Mais comme de toute façon dans toutes les pages dynamiques on se connecte à MySQL, du coup ça ne change rien. Enfin perso je ne me porte pas plus mal avec mon $db global et quelques global $db dans ma classe Record (en l'occurence dans les méthodes du type save ou findByXXX) RE: POO et DB - Anthor - 19-02-2010 Effectivement, QuentinC, ça revient au même, mais ça permet de ne pas chercher dans toutes les lignes où se trouve la variable global, et si elle existe. Et ça facilite grandement le debuggage du coup. EDIT: De plus c'est bien plus sécurisé, te garantissant que la variable n'est jamais instancié plus de deux fois, ou modifiée. RE: POO et DB - wildd - 20-02-2010 (19-02-2010, 07:41 PM)Anthor a écrit : En quoi dans l'exemple donné tu dois redonner les méthodes ? lol, maintenant que tu le dis, moi non plus je vois pas --- @tho je vois pas en quoi le fait d'étendre PDO empêche de stocker les info de connexion en attributs ou dans un fichier de config. RE: POO et DB - Anthor - 20-02-2010 (20-02-2010, 02:14 PM)wildd a écrit :(19-02-2010, 07:41 PM)Anthor a écrit : En quoi dans l'exemple donné tu dois redonner les méthodes ? La différence est minime, mais le singleton représenté utilise une classe externe effectivement :p RE: POO et DB - NicoMSEvent - 01-03-2010 Alors, merci a tous pour vos multiples avis J'ai utilisé ceci : Code : class t_DB{ et lorsque j'ai besoin d'un accès DB dans une méthode, j'utilise Code : $db=t_DB::getInstance(); RE: POO et DB - christouphe - 01-03-2010 heu, tant qu'à faire: Code PHP :
tu peux pas faire plutôt: Code PHP :
Puis après un beau Code PHP :
RE: POO et DB - Kihmé - 13-03-2010 quelqu'un aurait un bon tuto afin de démarrer ma poo. Je maitrise très bien la poo en java ou c#, mais là en php le fait de devoir l'utiliser en relation avec ma BDD me perd complétement, je ne vois pas comment je dois créer mes classes. RE: POO et DB - NicoMSEvent - 13-03-2010 pour l'utilisation d'une DB avec tes classes en PHP, j'utilise ce qu'on appelle le "singleton", c'est une classe instanciée une seule fois (impossible de l'instancier une seconde fois), qui va gérer la connection et les appels a la DB. Pour ma part, j'utilise ça : dans chaque fonction d'une classe (peu importe la classe), je récupere l'instance (ou au besoin, je la crée) grace a la ligne suivante :
puis j'utilise normalement l'objet $db
j'avais les mêmes questions que toi il y a quelques semaines... j'ai trouvé par moi même grace a quelques indications dans ce thread. Je te conseille de te renseigner sur le singleton, c'est la meilleure piste que je puisse te donner. Le fait de trouver par toi même va t'apporter beaucoup |