[转载]ecmall语言包程序
(2012-08-18 11:20:59)
转载▼
标签:
转载
收藏了
原文地址:ecmall语言包程序作者:我思故我在
执行顺序
登陆后台后 最先执行的文件是 default.app.php 这个文件继承 后台控制文件 backend.base.php 这个文件
在其初始化文件 中调用语言包文件
Lang::load(lang_file('admin/common'));
Lang::load(lang_file('admin/' . APP));
这样就执行到上面的文件
其中 lang_file() 获得文件的路径
而 load()函数载入语言文件
而在 load 函数内 ecmall load 函数分析如下
function load($lang_file)
{
static $loaded = array();
$old_lang = $new_lang = array();
$file_md5 = md5($lang_file);
if (!isset($loaded[$file_md5]))
{
$new_lang = Lang::fetch($lang_file);
$loaded[$file_md5] = $lang_file;
}
else
{
return;
}
$old_lang =& $GLOBALS['__ECLANG__']; 定义了全局变量 的引用
if (is_array($old_lang))
{
$new_lang = array_merge($old_lang, $new_lang);
}
$GLOBALS['__ECLANG__'] = $new_lang; //往全局变量累计添加
}