gpt4 book ai didi

php - CodeIgniter 3 - 具有 PHP 空函数的 session 项 getter

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:52 26 4
gpt4 key购买 nike

我刚刚注意到使用 CodeIgniter 3 session 系统时有些奇怪,我想知道这是问题还是 PHP 的正常现象。

为了解释,我已经初始化了这个变量:

$this->session->connected_client_id = 9;

当我这样做时:

$id = $this->session->connected_client_id
// Testing using "get_userdata" function
if (empty($this->session->get_userdata('connected_client_id'))) {
echo "EMPTY $id";
} else {
echo "NOT EMPTY $id";
}

没关系,我得到:NOT EMPTY 9

但是,当我这样做时:

$id = $this->session->connected_client_id
// Testing using the CodeIgniter 3 session getter
if (empty($this->session->connected_client_id))) {
echo "EMPTY $id";
} else {
echo "NOT EMPTY $id";
}

NOT 好吧,我得到:EMPTY 9

当我这样做的时候:

$id = $this->session->connected_client_id
// Testing using a variable as intermediate from the CI3 session getter
if (empty($id))) {
echo "EMPTY $id";
} else {
echo "NOT EMPTY $id";
}

没关系,我得到:NOT EMPTY 9

我正在使用一个变量作为前一个返回“EMPTY 9”的 getter 的中间值 ...
有人对此有解释吗?有没有一种正确的方法可以在没有这种“空洞的麻烦”的情况下实现这种检查?

最佳答案

它是......既是 - 在 PHP 中正常给定 CI_Session 类代码,但在 CodeIgniter 中也是一个问题,因为这个特定的用例应该工作但没有。

此补丁将在下一个 CodeIgniter 版本 (3.0.6) 中修复它:https://github.com/bcit-ci/CodeIgniter/commit/2c10f60586faf59b9380608c5a9bf01ff2522483

但是,我倾向于建议直接访问 $_SESSION 数组 - 这就是库为您提供的。

关于php - CodeIgniter 3 - 具有 PHP 空函数的 session 项 getter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36010546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com