1

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

目前我有这个代码:

$this->lang->load('mylanguage');

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

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

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

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

谢谢,

彼得

4

2 回答 2

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
)
于 2013-06-24T19:05:18.983 回答
1

您加载的配置文件最终合并$this->lang->language. 您可以访问此属性,因为它现在已声明为公共,但我会以通常的方式创建一个子类并添加一个访问函数,因此如果稍后将其更改为受保护它仍然可以工作:

class MY_Lang extends CI_Lang {
    public function all_line() {
        return $this->language;
    }
}
于 2013-06-24T18:48:01.220 回答