[转载]ecmall语言包程序

[转载]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; //往全局变量累计添加
  
  
  
    }

 
 
原文地址:https://www.cnblogs.com/archoncap/p/5259033.html