繁体   English   中英

我如何在 codeigniter4 中使用 set_userdata 添加 session 数据

[英]how can i use set_userdata in codeigniter4 for adding session data

我正在将 codeigniter 2 迁移到 codeigniter 4。我面临很多差异。 例如 set_userdata。 它在 codeigniter 4 中不可用。

我怎样才能像 codeigniter 一样在 codeigniter4 中使用 set_userdata 2. 请帮忙

根据CI doc建议您。 通过以下方式初始化 session

$session = \Config\Services::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');

从文档中,

与任何其他变量一样,您可以简单地将数据分配给 $_SESSION 数组。 或者作为 $this->session 的一个属性。

或者,也可以使用将其分配为“用户数据”的旧方法。 但是,将包含新数据的数组传递给 set_userdata() 方法。

看起来您可以将set命令与数组一起使用。

$newdata = [
        'username'  => 'johndoe',
        'email'     => 'johndoe@some-site.com',
        'logged_in' => TRUE
];

$session->set($newdata);

或像这样使用它来设置单个值

$session->set('some_name', 'some_value');

你好,如果我能理解你的问题。 您要设置 session 数据。 以下是您将采取的措施来解决此特定问题。 使用任何这些session()service('session')加载 session 库

$session = session();
$session->set('data_index', $data);

参考文档CI4 Doc

您可以将 Codeigniter4 中的 session 值设置为:

session()->set("session_name","session_value");

让我尝试向您解释简单的方法。 在 CI4 中,您需要初始化 session 库

在 Controller

$session = \Config\Services::session();
$sessionData = [
    'username' => 'John Doe',
    'phone' => 123545678,
    'role' => 'Teacher',
    'status' => 'Active'
];
$session->set($sessionData);

读取数据很简单

echo $session->get('username');

有关更多信息,请访问文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM