Bonjour tout le monde,
Je suis actuellement sur un projet personnel, et pour bien structurer mon système, je me suis décidé à utiliser la POO dans ce projet. Mais j'ai une petite question sur la manipulation de la connexion de la base de données.
Par exemple, j'ai une class "user", dont le constructeur prend en paramètre l'identifiant de l'utilisateur. Et puis le programme lit, dans la base, les informations de l'utilisateur, et les stocke dans les attributs privés de l'objet.
Le problème est, comment est-ce que ma classe "user" accede à la connexion de la base de données? Est-ce qu'on peut passer le référence de la connexio au constructeur de la classe, like:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class user{ private $username; private $avatar; private $etc; public function __construct($_username){ // Lecture de données } }
J'ai vu sur le net, on m'a conseillé de créer une classe de base de données, et stocke le référence de la connexion dans un attribut statique. On n'aura toujours qu'une seule connexion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public function __construct(&$database, $_username){ // Lecture de données }
Mais normalement les classes sont définies dans de différents fichiers, et on doit les utiliser ensemble. Je ne vois pas trop comment résoudre ce problème.
J'ai voulu mettre la connexion dans une variable global, mais apparemment ce n'est pas un bon choix non plus.
Donc j'aimerais demander si quelqu'un a une idée. Pour que toutes les classes soient réutilisables et puissent accéder à la connexion de BD facilement.
Merci d'avance.
Partager