全局会话变量

时间:2012-04-17 13:24:29

标签: php codeigniter session

我在会话中存储用户语言,然后我正在加载语言文件:

$language = $this->session->userdata('language');
$this->lang->load('form_validation', $language);

但是它很烦人,当我必须在每个控制器中加载上面的$language变量时,如果它是一个全局变量会更好,所以我可以使用:

$this->lang->load('form_validation', $language);
  • $language var将成为全局变量。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

我认为最好的方法(或者至少比使用全局变量更好)是在代码中的某个地方定义一个帮助函数(我不知道在CodeIgniter中会在哪里),它会为你加载语言文件

但是,这真的是一个问题吗?

答案 1 :(得分:1)

您可以在autoload.php文件中放置一个帮助程序;)。位于/application/config/autoload.php

从而在助手中定义变量,并将助手放在自动加载['helper']数组中。

答案 2 :(得分:1)

如果你真的想要一个单行,那么为什么不做呢

$this->lang->load('form_validation', $this->session->userdata('language'));

对于全局变量而言,不必要地创建它们通常不是一个好习惯。原因是可以从任何地方访问本质上的全局变量,因此可以从任何地方更新它们,这可能导致很难找到错误