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?
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!
(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 :
global $pdo;
$pdo = new PDO('mysql:host=localhost;dbname=exemple','root','motdepasse');
Ah, je connaissais même pas PDO... ça a l'air parfait, merci pour vos réponses
