我想通过创建自己的库和配置文件在 CodeIgniter 中生成全局变量。这就是我在我的库文件中编写的,比如说 globalvars.php。我把它放在/application/libraries 中。
class Globalvars{
function __construct($config = array())
{
foreach ($config as $key => $value) {
$data[$key] = $value;
}
$CI =& get_instance();
$CI->load->library('session');
$CI->load->vars($data);
}
}
我希望存储在 session 中的用户 ID 在全局变量中可用,所以我在我的配置文件中写了这个。它也被命名为 globalvars.php。它在/application/config 目录中。
$config['user']=$this->session->userdata('id');
然后我通过这种方式在我的 Controller 中编写它来测试它是否工作。
echo $data['user'];
但我在浏览器中收到此错误
Message: Undefined property: CI_Loader::$session
Filename: config/globalvars.php
似乎还没有定义 session 功能。我怎样才能让它工作?我在这里错过了什么?任何帮助将不胜感激。
最佳答案
您不能在 config
文件中使用 session
库。
config
文件在任何库之前加载,因此 $this->session
未定义。
关于codeigniter - CodeIgniter 中的全局变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490999/