我有來自yii的多種語言的問題。如何從I18n yii獲取私有變量?
我希望管理員能夠添加任何語言到我的系統。
因此,我需要從i18n
yii
獲取所有國家和地區代碼語言。
這意味着我會顯示一個下拉列表。它具有所有的名稱語言。當我選擇任何語言。它會自動生成地區代碼。
例如:我選擇了英文,它會自動生成地區代碼爲en。我試過$languages = Yii::app()->locale->_data;
得到數組。但因爲變量$_data
是私人。
這是Clocale類代碼:
class CLocale extends CComponent
{
public static $dataPath;
private $_id;
private $_data;
這裏是代碼視圖我叫:
$languages = Yii::app()->locale->_data;
var_dump($languages['languages']);
如果我改變私人$_data;
到public $_data;
它會返回結果。但這是yii的核心,因此我無法改變它。從消息目錄
if ($handle = opendir('/path/to/files')) {
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
closedir($handle);
}
它優於擴展類,並複製它的所有內容(_data是私有的,所以你不能訪問它)
擴展類使您不必更改核心類 – tinybyte
@tinybyte 可以描述詳細嗎? –