如何在codeigniter4中使用set_userdata添加会话数据

pftdvrlh  于 2022-12-07  发布在  其他
关注(0)|答案(5)|浏览(91)

我正在将代码点火器2移植到代码点火器4。我面临着很多不一致的地方。例如set_userdata。它在代码点火器4中不可用。
我如何在codeigniter4中使用set_userdata完全像codeigniter2一样。请帮助

twh00eeo

twh00eeo1#

建议您按照CI doc .初始化会话

$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');
o8x7eapl

o8x7eapl2#

从医生那里,
你可以简单地将数据赋给$_SESSION数组,就像其他变量一样,或者作为$this-〉session的一个属性。
或者,也可以使用旧的方法将其赋值为“userdata”,但要将包含新数据的数组传递给set_userdata()方法。
看起来您可以对数组使用set命令。

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

$session->set($newdata);

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

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

xqk2d5yq3#

您好,如果我能理解您的问题。您想设置一个会话数据。下面是您将做什么来解决这个特定的问题。加载会话库使用任何这些session()service('session')

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

参考文件CI4 Doc

syqv5f0l

syqv5f0l4#

您可以在Codeigniter4中将会话值设置为:

session()->set('session_name','session_value');
3hvapo4f

3hvapo4f5#

让我试着给你解释一个简单的方法。
在控制器中

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

读取数据非常简单

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

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

相关问题