相关疑难解决方法(0)

PHP中require_once的范围是什么?

简单问题:require_once全球范围是?

例如:

<?PHP

require_once('baz.php');

// do some stuff
foo ($bar);

function foo($bar) {
    require_once('baz.php');
    // do different stuff
}

?>
Run Code Online (Sandbox Code Playgroud)

调用foo时,是否会重新解析baz.php?或者它是否依赖于主php文件中已经需要的文件(对于相同的包含文件连续两次调用require_once)?

我之前看过这个帖子,但它没有完全回答这个问题:

应该require_once"some file.php"; 出现在文件顶部的任何地方?

谢谢你的帮助!

php scope require-once server-side-includes

13
推荐指数
2
解决办法
9128
查看次数

require_once到函数内的全局范围

似乎如果require_once在函数内调用,则包含的文件不会扩展全局变量范围.如何require_once从函数中将文件转换为全局范围?

我正在尝试做的是一些动态模块加载器:

function projects_init()
{
        ...
        foreach ($projects as $p) {
                require_once($p['PHPFile']);

                $init_func = $p['init'];
                if ($init_func)
                        $init_func();
        }
}
Run Code Online (Sandbox Code Playgroud)

如果无法使用require_once这种方式,最简单的解决方案是什么?(请不要沉重的框架.)

编辑:它也适用于PHP 5.2.

php scope require-once

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

php ×2

require-once ×2

scope ×2

server-side-includes ×1