0

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

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

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

$this->lang->load('form_validation', $language);
  • 其中$languagevar 将是一个全局变量。

我怎样才能做到这一点?

4

3 回答 3

1

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

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

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

于 2012-04-17T13:34:59.017 回答
1

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

因此在助手中定义变量,并将助手放在 autoload['helper'] 数组中。

于 2012-04-17T13:31:36.807 回答
1

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

但是,这真的有问题吗?

于 2012-04-17T13:27:37.480 回答