【发布时间】:2012-02-18 14:32:47
【问题描述】:
似乎如果在函数内调用require_once,则包含的文件不会扩展全局变量范围。 如何在函数内require_once 文件到全局范围?
我想做的是一些动态模块加载器:
function projects_init()
{
...
foreach ($projects as $p) {
require_once($p['PHPFile']);
$init_func = $p['init'];
if ($init_func)
$init_func();
}
}
如果不能那样使用require_once,那么最简单的解决方案是什么? (请不要使用繁重的框架。)
编辑:它也应该适用于 PHP 5.2。
【问题讨论】:
-
您可以在包含的文件中设置全局变量,也可以使用不同的方式来做您想做的事情,也许使用自动加载器、反射等。您可以向我们提供更多信息,我们也许可以想更好的东西。我真的不喜欢将全局范围用于可以以不同方式完成的任务。
-
ofc 你可以在函数中包含文件,并且该文件中的任何全局内容都将在全局范围内可用...
-
这就是他们的模块加载了多少个框架......例如检查codeigniter的load_class函数
-
@Dunhamzzz,这不是完全相同的副本,链接的问题表明没有解决方案,我正在寻求解决方法!
标签: php scope require-once