Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter语言:最好的方法是什么?_Php_Codeigniter - Fatal编程技术网

Php CodeIgniter语言:最好的方法是什么?

Php CodeIgniter语言:最好的方法是什么?,php,codeigniter,Php,Codeigniter,我最近开始使用CodeIgniter作为PHP MVC框架,在使用CodeIgniter之前,我使用自己的MVC模式的小型实现,因此,我使用基于常量的语言系统构建,如: define(联系我们,'联系我们')等等,但是当我开始使用CodeIgniter时,我看到它使用了Language类,所以如果我们需要在视图中使用一种语言,我们需要首先声明它,比如$lang['mainpage\u contact']=“contact Us”,当我们需要将其传递给视图时 $this->lang->

我最近开始使用CodeIgniter作为PHP MVC框架,在使用CodeIgniter之前,我使用自己的MVC模式的小型实现,因此,我使用基于常量的语言系统构建,如:

define(联系我们,'联系我们')等等,但是当我开始使用CodeIgniter时,我看到它使用了Language类,所以如果我们需要在视图中使用一种语言,我们需要首先声明它,比如
$lang['mainpage\u contact']=“contact Us”,当我们需要将其传递给视图时

$this->lang->load('mainpage' ); 
$date['contact'] = $this->lang->line('mainpage_contact');
然后将其传递给视图,在第一种方式中,我们可以定义常量并加载文件,然后在视图中直接使用它。。。
最好的方法是什么?

始终坚持您选择的框架使用的方法是最好的。然后,如果您需要帮助,或者其他程序员必须处理它,那么就不会有任何混乱。所以我建议使用CodeIgniter方法


您还可以从CI将来可能添加的任何语言功能中获益,并且可以扩展语言类以添加您自己的功能。例如,您可以根据您的URI使用它来加载语言。

另一个不是Codeigniter的MVC框架使用:

$this->data['entry_rename'] = $this->language->get('entry_rename');
codeigniter的工作方式似乎非常符合逻辑,而且是一种很好的工作方式。contants方法似乎不是一个好方法


我同意Chris的观点。

从逻辑上讲,这是正确的,但在实践中,当前的方式需要更多的时间,使用它除了框架标准之外还有什么好处?使用框架的标准方式最终会为您节省大量时间。当涉及到CI的翻译方式时,它使其他人能够轻松创建语言文件,这些文件可以在您的应用程序中使用,而无需任何核心修改。这也可以直接在视图中使用:$This->lang->line('mainpage_contact');实际上,我也不理解你使用常量的方式。如果您使用“持续联系我们”,您会得到“联系我们”,如果您想以不同的语言显示“联系我们”,您会怎么做?