Je suis en face d'un petit soucis de compréhension.
Je suis en train d'intégrer de l'objet (je débute avec ce type de prog) dans un site réalisé en procédural (ou évènementiel pour certains). Ma première classe concerne la gestions des utilisateurs. Tout fonctionne, mais un truc me titille.
Voici mon constructeur :
Code : Tout sélectionner
public function __construct($id = false){
// Récupération de l'user dans la BDD
$this->connexion = new mysqli('localhost', 'root', 'pass', 'my_db');
if($id){ $this->SelectionUtilisateur($id); }
}
// Selectionner l'utilisateur dans la BDD
public function SelectionUtilisateur($id){
// Récupération de l'user dans un tableau
$result = $this->connexion->query("SELECT niveau_admin, utilisateur, motdepasse, nom, prenom, email, tel_fixe, tel_port FROM user WHERE user_id = ".$id);
$user = $result->fetch_object();
$result->close();
//Valorisation de l'objet
$this->id = $id;
$this->niveau = $user->niveau_admin;
$this->utilisateur = $user->utilisateur;
$this->motdepasse = $user->motdepasse;
$this->nom = $user->nom;
$this->prenom = $user->prenom;
$this->email = $user->email;
$this->telfixe = $user->tel_fixe;
$this->telport = $user->tel_port;
}
Seulement, je n'arrive pas à visualiser comment avoir une seule connexion pour toutes les classes, afin qu'elles gèrent directement les requêtes...
EDIT : J'ai entendu parler de la sérialisation, je ne sais pas si c'est conseillé pour mon cas...
EDIT 2 : Désormais, j'ouvre ma connexion en début de page ($connexion = new mysqli(...)) puis dans mes classes j'appelle la connexion ouverte (global $connexion). Je ne sais pas si c'est la meilleure solution, mais en tout cas je n'ai plus qu'une connexion
Merci d'avance pour votre aide !