SAlut,
J'ai un soucis à mettre en session une classe qui possède un objet PDO en variable, même lorsque j'utilise __sleep et que je vire l'objet PDO .
Inévitablement je me retrouve avec une erreur : Fatal error: Uncaught exception 'PDOException' with message 'You cannot serialize or unserialize PDO instances'
le code :
Quelqu'un aurait une idée de ce qui cloche? Merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 class user { private $attributes = array(); private $pseudo = ''; private $bdd; public function __construct($pseudo) { $this->bdd = mysql::getInstance(); if($pseudo != '') { $this->retrieve_account_from_mysql($pseudo); $this->attributes['sup']=array(); $this->attributes['sup']['local']=array(); $this->retrieve_activities(); } } public function __sleep(){ $this->bdd = null; return array('attributes','pseudo'); } public function __wakeup(){ $this->bdd = mysql::getInstance(); }
EDIT ::: en fait la méthode marche bien, faut juste faire attention à ce que les variables de l'objet ne soient pas des objets avec aussi un objet PDO dedans!
Partager