JeuWeb - Crée ton jeu par navigateur
Objets et connexion BDD - 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 : Objets et connexion BDD (/showthread.php?tid=3856)



Objets et connexion BDD - Feldoran - 04-04-2009

Toujours pour une classe utilisateur, quel serait le moyen idéal d'exécuter des requêtes en son sein?!

Où et comment établir la liaison BDD? Dans l'objet ou en dehors?! Si dedans, avec persistance de la connexion pendant toute la durée de vie de l'objet?


RE: Objets et connexion BDD - Zamentur - 06-04-2009

Personnelement j'ai une classe pour les base de donnée, une autre qui hérite de cette dernière pour les bases de donnée mysql.

Cet objet représente en vérité une connexion à une base de donnée(je peux en faire plusieurs si besoin, enfin çà gère plein de trucs)
Bref en gros en utilisation normal, les autres classes font appel à une connexion via mysql_database::get_instance('param de connexion');

L'objet connexion est donc créer si inexistant ou juste fournit si déjà existant!
A la destruction de l'objet mysql_database la connexion est fermé, ce qui arrive soit en fin de script(destruction automatique par php).

Je pourrais détruire l'objet plus tôt mais j'en vois pas trop l'intérêt le gain ne serait pas énorme, et puis mes pages tourne si possible avec des connexions persistantes pour améliorer la vitesse. Chercher à fermer une connexion persistante çà n'a aucun sens!

Dans l'absolue je pourrais éventuellement détruire toutes les références avec unset() mais faudrait que je fasse des test
Bref voilà comment je fait en gros j'ouvre si c'est pas fait et que j'en ai besoin!


RE: Objets et connexion BDD - SorenS - 06-04-2009

(04-04-2009, 03:27 AM)Feldoran a écrit : Où et comment établir la liaison BDD? Dans l'objet ou en dehors?! Si dedans, avec persistance de la connexion pendant toute la durée de vie de l'objet?

Dans mon cas je fais une requête minimum par page, donc j'établis la connexion bdd à toutes les pages.
(j'utilise PDO)
J'instancie pdo en global et du coup je peux l'utiliser dans toutes les classes.

Code PHP :
<?php 
global $pdo;
$pdo = new PDO('mysql:host=localhost;dbname=exemple','root','motdepasse');



RE: Objets et connexion BDD - Feldoran - 06-04-2009

Ah, je connaissais même pas PDO... ça a l'air parfait, merci pour vos réponses Smile