Home  >  Article  >  Backend Development  >  thinkphp用import引来的文件,没有办法读取

thinkphp用import引来的文件,没有办法读取

WBOY
WBOYOriginal
2016-06-13 11:17:48752browse

thinkphp用import引入的文件,没有办法读取
我在一个函数内用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;
   

}

麻烦各位给点建议。。。


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


------解决方案--------------------
引用:
对的,就是配置文件来的,我刚刚在被引入的那个文件中定义global  $_LANG;就可以了。
不过我想问一下,如果全局变量定义太多会有影响吗?
全局变量定义太多会有影响吗?
没有,只是需要自己注意不要冲突了

配置文件应该用 TP 约定的方式来做,他会自动加载
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn