提前感谢您的帮助。 :)
好的,这是我的问题。
简化版代码:
带有包含文件的全局空间
包含文件,其中定义$ var并调用函数以返回包含语句
函数返回的包含文件以及无法再访问$ var的文件
为什么$ var不再可访问?
我怀疑它与该功能有关,或者我错过了其他的东西。 功能如下:
function blah() {
return include_once 'filename.php';
}
答案 0 :(得分:3)
按设计工作。把代码想象成包含不在那里:你在一个函数里面,它有自己的范围。那里无法访问全局变量。
您的选择:
将变量作为对blah(&$variable)
使用global $varname
如果您使用的是PHP 5.3,请使用新的closure功能
使用静态OOP构造,如静态类,单例或依赖注入(可能是矫枉过正)