Eléphant du PHP |
369 Messages
17 août 2009, 17:51
Salut,
Bonjour,
comment fait-on pour passer un objet dans une variable de session ?
J'ai bien inclus mes classes avant le session_start.
Faut il utiliser la serialisation ?
Cas d'un panier, qui contient des articles, est-il possible de faire :
$_SESSION['panier'] = new panier();
$_SESSION['panier']->ajouterArticle($article);
Merci de votre aide.
Toujours plusisur possibilités... mais je pense que sérialiser semble une bonne chose.
Sinon tu as la façon un peu plus lente mais pas sans intérêt. Le copier clef/item
par listage...
1)
// IN
//
if ($objet_ton_panier instanceof TA_CLASS_PNNIER)
{
$str = serialize($objet_ton_panier);
$_SESSION[panier] = $str;
}
// OUT, L'inverse étant
//
if (isset($_SESSION[panier])) $objet_ton_panier = unserialize($_SESSION[panier]);
else $objet_ton_panier = new TA_CLASS_PANIER();
2)
// IN
//
if ($objet_ton_panier instanceof TA_CLASS_PANIER)
{
foreach($array AS $key => $value)
{
$_SESSION[panier][$key] = $value;
}
}
// OUT, Tu connais la suite
//
@+
