我在一个函数内用import("Common.logAction",APP_PATH,'.php');引入logAction.php文件,这个文件是一个多维数组,结构如下:
$_LANG['log_action']['add'] = '添加';
$_LANG['log_action']['remove'] = '删除';
$_LANG['log_action']['edit'] = '编辑';
$_LANG['log_action']['import'] = '导入';
$_LANG['log_action']['sheng'] = '生成';
$_LANG['log_action']['print'] = '打印';
$_LANG['log_action']['general_ruku'] = '常规入库';
$_LANG['log_action']['sell_chuku'] = '销售出库';
$_LANG['log_action']['check'] = '审核';
$_LANG['log_action']['uncheck'] = '取消审核';
$_LANG['log_action']['batch_check'] = '批量审核';但是我在函数中却怎么也读取不到引入那个文件的变量值。
function admin_log($sn = '', $action, $content)
{
//日志操作,动作
import("Common.logAction",APP_PATH,'.php');
echo $GLOBALS['_LANG']['log_action'][$action];exit;
   }麻烦各位给点建议

解决方案 »

  1.   

    浏览了一下 thinkphp 的代码
    import 是函数,其中调用 require_cache 加载文件
    而文件是在 require_cache 中加载的:require $filename;
    因此除了类定义以外,其他的数据声明都成为了函数 require_cache 中的私有变量
    除非你在被加载的文件声明其为全局变量
      

  2.   

    你似乎是在做多语言支持
    那么为什么不使用ThinkPHP内置多语言支持呢?
      

  3.   

    而且引入的那个文件不是类,是一个PHP文件,存放数组的。
      

  4.   

    你直接 include 就是了
    不过还是遵守人家的规则比较好
    你这个文件应该算是配置文件吧?
      

  5.   

    对的,就是配置文件来的,我刚刚在被引入的那个文件中定义global  $_LANG;就可以了。
    不过我想问一下,如果全局变量定义太多会有影响吗?
      

  6.   

    之前没有用TP框架时,就是用include引入的,不用声明全局变量