CodeIgniter变量在我的整个应用程序中都可用


CodeIgniter variable available throughout my application?

可能重复:
在CodeIgniter中设置全局使用变量的最佳方式?

我有关于用户的元数据,它会不断变化,所以我不想把它存储在会话中。

它还需要在我的整个应用程序中可用。

我该怎么做?

提前谢谢。

Sean Jenkins

您可能希望尝试使用代码点火器的MY_Controller:

代码点火器|MY控制器

class  MY_Controller  extends  Controller  {
    public $var;
    function MY_Controller ()  {
        parent::Controller();
        $this->var = 'hello!';
        }
    }

它被放在名为MY_Controller.php的"核心"文件夹中

class Whatever extends MY_Controller {}

所有控制器中的MY_Controller而不是CI_Controller。

然后你可以拨打

$this->var;

从应用程序中的任何位置。

编辑:我刚刚阅读了您的另一个问题。我想这个解决方案不是你想要的。

您可以将其存储在库中(例如mylib(,并将此库添加到application/config/autoload.php中的自动加载中:

$autoload['libraries'] = array('mylib');

然后,您可以加载此库并在应用程序中的任何位置访问变量:

$this->load->library('mylib');

echo $this->mylib->my_variable;