我正在将代码点火器2迁移到代码点火器4。我面临许多不确定因素。Ex set_userdata。它在代码点火器4中不可用。
我如何在codeigniter4中使用setuserdata,就像codeigniter 2一样。请帮助
根据CI文档建议您。通过初始化会话
$session = ConfigServices::session($config); // $config is optional here
然后,
$newdata = [
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
];
$session->set($newdata);
或
$session->set('some_name', 'some_value');
让我试着向您解释一下简单的方法。在CI4中,您需要初始化会话库
控制器内
$session = ConfigServices::session();
$sessionData = [
'username' => 'John Doe',
'phone' => 123545678,
'role' => 'Teacher',
'status' => 'Active'
];
$session->set($sessionData);
读取数据就像一样简单
echo $session->get('username');
欲了解更多信息,请访问文档
从单据,
您可以简单地将数据分配给$_SESSION数组,就像分配给任何其他变量一样。或者作为$this的财产->一场
或者,将其分配为"userdata"的旧方法也可用。然而,将包含新数据的数组传递给set_userdata((方法。
看起来可以将set
命令用于数组。
$newdata = [
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
];
$session->set($newdata);
或者像那样使用它来设置单个值
$session->set('some_name', 'some_value');
你好,如果我能理解你的问题。您想要设置会话数据。以下是您将如何解决这个特殊问题。使用以下任一session()
或service('session')
加载会话库
$session = session();
$session->set('data_index', $data);
参考文件CI4 Doc
您可以将Codeigner4中的会话值设置为:
session()->set('session_name','session_value');