欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-02-05 13:43:04
...
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 约定的方式来做,他会自动加载
thinkphp用import引来的文件,没有办法读取

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • thinkphp用import引来的文件,没有办法读取
  • 专题推荐