将整个语言文件合并到带有CI的数组中

时间:2013-06-24 18:35:50

标签: php arrays codeigniter function object

在我的codeigniter应用程序中,我有一个包含200多个短语的文件。

目前我有这段代码:

$这 - >朗>负载( 'mylanguage');

// Define variables
$data['title'] = $this->lang->load('title');
$data['slogan'] = $this->lang->load('slogan');
// And so on

我想知道如果我可以做这样的事情是否有办法:

$data = $this->lang->line;

我知道它不会那样,但也许一些更有经验的CI开发人员可以建议最好的方法。

谢谢,

彼得

2 个答案:

答案 0 :(得分:2)

尝试在load方法中添加第三个参数。如果将第三个参数设置为TRUE,则在加载语言文件时,它将返回文件中所有语言值的数组。

// created error file according to the CI docs
print_r($this->lang->load('error', 'english', true));

// Example output
Array
(
[error_email_missing] => You must submit an email address
[error_url_missing] => You must submit a URL
[error_username_missing] => You must submit a username
)

答案 1 :(得分:1)

您最终merged加载到$this->lang->language的配置文件。您可以访问此属性,因为它现在已声明为public,但我会创建一个usual way的子类并添加一个访问函数,因此如果以后将其更改为protected,它仍然有效:

class MY_Lang extends CI_Lang {
    public function all_line() {
        return $this->language;
    }
}