sérialisation en session et PDO
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 :
Code:
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();
} |
Quelqu'un aurait une idée de ce qui cloche? Merci d'avance!
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!