J'ai récemment commencé à utiliser CI et ses sessions CI, mais j'ai remarqué qu'une chose en particulier prend beaucoup plus de temps à faire avec les sessions CI qu'avec les sessions PHP de base: Tableaux.Quelle bibliothèque de sessions dois-je utiliser avec CodeIgniter?
J'ai un tableau de données qui persiste indépendamment de connexion/déconnexion appelée $_SESSION['stats']
, I puis stocker des données dans ce tableau sous la forme:
$_SESSION['stats']['last_page'] = $_SERVER['REQUEST_URI'];
. Et lorsqu'un utilisateur se déconnecte, il enregistre le tableau de statistiques dans une variable, efface la session et la charge dans la nouvelle session.
Le problème est que pour modifier la clé LAST_PAGE, au lieu de la ligne un au-dessus, je dois utiliser ce code:
$stats = $this->CI->session->userdata('stats');
$stats['last_page'] = $_SERVER["REQUEST_URI"];
$this->CI->session->set_userdata('stats', $stats);
C'est l'un d'un certain nombre de contrariétés que je trouve dans les sessions CI , ce qui me fait me sentir insatisfait comme mon gestionnaire de session. Donc ma question est: Quel système de session dois-je utiliser avec CodeIgniter? ... existe-t-il une raison pour utiliser des sessions CI? Y a-t-il une bibliothèque de CI que vous suggéreriez? Pourquoi ne pas simplement utiliser des sessions PHP?
Merci,
Lemiant
Je ne sais rien de CI, mais il semble que vous pourriez contourner ce problème en créant une classe Stats et en en stockant une instance. Ensuite, vous pouvez simplement utiliser $ this-> CI-> session-> userdata ('stats') -> setLastPage ($ _ SERVER ['REQUEST_URI']); 'Je sais que ce n'est pas exactement ce que vous avez demandé, mais il y a d'autres avantages à cela aussi (comme se débarrasser de certaines ficelles et aider à la documentation). – grossvogel