Bonjour,
J'ai un problème avec la mise en session d'un de mes objets.
Je possède une classe User qui s'occupe du traitement basique concernant les utilisateurs (formulaire de création/édition, suppression, validateur de droits etc...).
Ma classe possède un attribut global $pdh qui stocke un objet PDO pour les accès à ma db. Sinon, toutes les données relatives aux membres sont dans un tableau $data.
Je voudrais pouvoir mettre cet objet en session (logique). Jusque là, je n'avais pas besoin de l'objet PDO mais quelques nouvelle méthodes ne peuvent plus s'en passer.
J'ai écrit vite fait les fonctions sleep et wakeup pour pouvoir gérer cet objet PDO qui m'a déjà posé des problèmes lors d'essais de mise en session auparavant. Le problème, c'est qu'avec ces deux méthode supplémentaire, l'objet ne semble plus vouloir se mettre en session, et il est impossible d'accéder aux pages admin...
Voici mon code. Je viens d'achever la théorie sur les sleep/wakeup, donc je suis surtout à la recherche d'une erreur d'utilisation.
Voilà voilà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function __wakeup() { $this->dbh = new PDO(DSN1, USER1, PASS1); $this->data = $_SESSION['session']->data ; } function __sleep() { return $this->data ; }
Merci d'avance!
Partager