升级 Session
文档
变更点
- 只是一些小变化,如方法名称和库的加载。 
- 在数据库驱动中,Session 表的定义已经发生了变化。 
升级指南
- 在使用 Session 库的任何地方,用 - $session = session();替换- $this->load->library('session');。
- 从那时起,必须用 - $session后跟新方法名替换以- $this->session开头的每一行。- 要访问 Session 数据,请使用 - $session->item或- $session->get('item')语法,而不是 CI3 语法- $this->session->name。
- 要设置数据,请使用 - $session->set($array);代替- $this->session->set_userdata($array);。
- 要删除数据,请使用 - unset($_SESSION['some_name']);或- $session->remove('some_name');代替- $this->session->unset_userdata('some_name');。
- 要将 Session 数据标记为只在下一个请求中可用的闪存数据,请使用 - $session->markAsFlashdata('item');代替- $this->session->mark_as_flash('item');`
 
- 如果你使用数据库驱动,你需要重新创建 Session 表。参见 DatabaseHandler 驱动程序。 
代码示例
CodeIgniter 3.x 版本
<?php
$this->load->library('session');
$_SESSION['item'];
$this->session->item;
$this->session->userdata('item');
CodeIgniter 4.x 版本
<?php
$session = session();
$_SESSION['item'];  // But we do not recommend to use superglobal directly.
$session->get('item');
$session->item;
session('item');