codeigniter - CodeIgniter 中的全局变量不起作用

标签 codeigniter variables global

我想通过创建自己的库和配置文件在 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/

相关文章:

php - 是否可以在codeigniter中连接两个dbms MySQL和postgresQL?

php - 关于PHP函数返回值的问题

php - HTML 空 <a> 标签空格?

variables - xslt - 如何创建一个具有动态确定长度的空格字 rune 本内容的变量,该变量将表现良好

python - 从在所述函数中定义的另一个函数中更改函数的局部变量.. Python

python - 使模块全局化?

php - 代码点火器 : Validating of two Date fields

php - 使用 Sql 查询显示变量的错误值

javascript - 为什么变量不能从 aspx.vb 传递到 aspx?

在 C 中创建未知大小的全局二维数组