【发布时间】:2012-02-16 22:08:14
【问题描述】:
当require_once() 在函数内部使用时,我正在寻找一种将require_once() 的范围设置为全局范围的方法。类似下面的代码应该可以工作:
文件`foo.php':
<?php
$foo = 42;
实际代码:
<?php
function includeFooFile() {
require_once("foo.php"); // scope of "foo.php" will be the function scope
}
$foo = 23;
includeFooFile();
echo($foo."\n"); // will print 23, but I want it to print 42.
有没有办法明确设置require_once() 的范围?有什么好的解决方法吗?
【问题讨论】:
-
require_once的范围在您定义使用它的位置明确设置。 -
我能想到一个可怕的解决办法,如果你想要的话......
-
没有。您需要明确列出要别名到全局范围的变量。在函数中或包含脚本的顶部。
-
@DaveRandom:也许你应该把它添加为答案^^
-
为什么要在函数中包装
require_once()?
标签: php scope global-variables require-once