Page 1 sur 1

Best Practices : Passer un objet d'une page à l'autre : SESS

Posté : 10 juin 2008, 23:47
par gobi13
Salut à tous,

Depuis peu je me suis mis à programmer objet en PHP et ça a grandement simplifié ma vie cependant je rencontre quelques difficultés pour passer mon objet d'une page à l'autre...

J'utilise sur ma page de départ :
<?php
include('./lib/guestlist.inc.php');
session_start();
$_SESSION['maliste'] =  serialize($maliste);
et sur ma page d'arrivée (en fait c'est la même):
<?php
include('./lib/guestlist.inc.php');
session_start();
$maliste = unserialize($_SESSION['maliste']);
Mais je n'arrive pas toujours à récupérer mon objet...

Est-ce que cette méthode est la meilleure pratique pour passer les objets ?
Quelles sont les limites de tailles pour le variables de sessions ?
Est-ce que tout l'objet est stocké dans la session ou c'est seulement un pointeur mémoire ?

Un grand merci d'avance,
Gobi

Posté : 11 juin 2008, 00:01
par savageman
Salut,

Ces 2 liens commenceront sand oute à t'éclairer sur la question :

http://www.phpfrance.com/tutoriaux/inde ... c-php-5#a5
http://fr.php.net/manual/fr/language.oop5.magic.php

Posté : 11 juin 2008, 01:41
par gobi13
Dans mon cas je n'ai pas vraiment besoin des méthodes wake_up et sleep... enfin je ne pense pas ou peut-etre je ne réalise pas quel est leur intérêt dans mon cas.

En fait:

-de la page 1 a la page 2, j'enregistre non objet dans la var : $_SESSION['maliste'] en la serialisant et j'arrive a la récupérer. (on passe d'une page à l'autre avec un envoi de formulaire)

-de la page 2 à la page 3, si j'enregistre l'obj. dans $_SESSION['maliste'] (même précédé d'un unset($_SESSION['maliste']) ) je n'arrive pas le récupérer dans la page 3.
Par contre si j'utilise un autre nom de var : $_SESSION['maliste_save'] cela fonctionne trés bien! :shock: (on passe de la page 2 à la page 3 par un lien hypertexte)

NB: les pages 1 , 2 et 3 sont en fait le même fichier php.

Vous ne trouvez pas ça bizarre ?

Mes premières questions restent d'actualité : taille limite des _SESSION, est-ce la meilleure pratique ?...
Merci. :lol: