我在用我的模型更新我的配置变量:
$this->config->set_item('userid', $user_id);
如果我在模型呼应它,我可以看到它被设置。
但是,如果我赞同它的控制器或使用另一种模式:
echo $this->config->item('userid');
它显示了原始值。
我需要这个配置变量存储整个会话,但我不希望使用会话变量。
我在用我的模型更新我的配置变量:
$this->config->set_item('userid', $user_id);
如果我在模型呼应它,我可以看到它被设置。
但是,如果我赞同它的控制器或使用另一种模式:
echo $this->config->item('userid');
它显示了原始值。
我需要这个配置变量存储整个会话,但我不希望使用会话变量。
这configurtation只适用于你设置这种模式。 如果你不想使用会话的全局设置。
你可以创建一个核心模型application/core
,并将其命名
MY_Model
所以基本上什么MY_Model
做的是,它设置在延伸其所有车型您的配置。
class MY_Model Extends CI_Model
{
protected $user_id;
public function __construct()
{
parent::__construct();
$this->config->set_item('userid', $this->user_id);
}
}
然后要应用的设置你的模型,只是扩展你的模型。 喜欢
Model extends MY_Model
{
public function test($id)
{
$this->user_id = $id;
}
}
或者你可以创建一个核心控制器同上,但用控制器来模拟更多的http://ellislab.com/codeigniter/user-guide/general/core_classes.html
尝试初始化配置$this->ci = & get_instance();
然后设置等的值$this->ci->config->set_item('userid', $user_id);
我没有测试过这...但我认为它会工作。