Si vous utilisez OOP en PHP, vous voulez probablement que ces objets soient reconstruits à chaque requête pour plusieurs raisons. Dans l'ensemble, il n'y aurait pas beaucoup de différence de performance entre stocker, charger et désérialiser les objets de la session, comme vous l'avez suggéré, ou simplement les reconstruire.
Cela dépend beaucoup du type de cours que vous utilisez, bien sûr. Construire une classe n'est généralement pas très problématique en termes de performances, à moins qu'il y ait beaucoup de choses nécessaires pour le faire (requêtes de base de données, etc.)
De plus, cela pourrait rendre votre code moins compréhensible et/ou maintenable aussi.
Et oui, il y a une taille limitée définie par l'utilisation de la mémoire maximale de jeu PHP dans le php.ini
Donc, cette question n'est pas vraiment responsable, sauf si vous savez exactement ce que les classes que vous voulez stocker dans la session sont, ce qu'ils font et comment ils interagissent. Par exemple, si vous aviez une classe qui résume un utilisateur connecté sur votre site, stocker son objet dans la session PHP serait probablement une bonne idée. Dans la plupart des autres cas, cependant, ce ne serait pas le cas.
Qu'en est-il de deux clients modifiant le même objet? Je veux dire, je pense que c'est bon pour la lecture, mais en écrivant, vous devrez prendre en compte la concurrence –
Voir cette question concernant la taille: http://stackoverflow.com/questions/217420/ideal-php-session-size –
@Jhonny: mmmh vous faites un très bon point ... Je devrais trouver une autre solution –