04-04-2009, 02:53 PM
Rien n'est forcément mauvais ni forcément bon, l'important c'est juste de savoir exactement ce qui se passe lorsqu'on fait quelque chose.
En l'occurrence au moment où tu fais $_SESSION['toto'] = new MaClasse() il ne se passe rien de particulier : l'objet est instancié et placé dans une variable (en l'occurrence dans le tableau superglobal $_SESSION).
En revanche à la fin de l'exécution du script il y a une phase de sérialisation de la session qui est effectuée (en gros, PHP stocke serialize($_SESSION) dans un fichier), et à chaque début de script suivant il a une phase de désérialisation de la session au début (à l'appel de session_start(), en gros PHP fait $_SESSION = unserialize(contenu du fichier)).
Cela épargne une requête, mais ça fait de l'exécution pas forcément visible. Donc quand on utilise ça, il faut juste avoir ces éléments en tête.
Perso j'en mets le minimum en session, pour éviter d'avoir à me poser ce genre de question
En l'occurrence au moment où tu fais $_SESSION['toto'] = new MaClasse() il ne se passe rien de particulier : l'objet est instancié et placé dans une variable (en l'occurrence dans le tableau superglobal $_SESSION).
En revanche à la fin de l'exécution du script il y a une phase de sérialisation de la session qui est effectuée (en gros, PHP stocke serialize($_SESSION) dans un fichier), et à chaque début de script suivant il a une phase de désérialisation de la session au début (à l'appel de session_start(), en gros PHP fait $_SESSION = unserialize(contenu du fichier)).
Cela épargne une requête, mais ça fait de l'exécution pas forcément visible. Donc quand on utilise ça, il faut juste avoir ces éléments en tête.
Perso j'en mets le minimum en session, pour éviter d'avoir à me poser ce genre de question
Ressources [PHP][MySQL][prototype.js]