我在会话中存储用户语言,然后我正在加载语言文件:
$language = $this->session->userdata('language');
$this->lang->load('form_validation', $language);
但是它很烦人,当我必须在每个控制器中加载上面的$language
变量时,如果它是一个全局变量会更好,所以我可以使用:
$this->lang->load('form_validation', $language);
$language
var将成为全局变量。我该怎么做?
答案 0 :(得分:1)
我认为最好的方法(或者至少比使用全局变量更好)是在代码中的某个地方定义一个帮助函数(我不知道在CodeIgniter中会在哪里),它会为你加载语言文件
但是,这真的是一个问题吗?
答案 1 :(得分:1)
您可以在autoload.php文件中放置一个帮助程序;)。位于/application/config/autoload.php
从而在助手中定义变量,并将助手放在自动加载['helper']数组中。
答案 2 :(得分:1)
如果你真的想要一个单行,那么为什么不做呢
$this->lang->load('form_validation', $this->session->userdata('language'));
对于全局变量而言,不必要地创建它们通常不是一个好习惯。原因是可以从任何地方访问本质上的全局变量,因此可以从任何地方更新它们,这可能导致很难找到错误