简单问题:require_once
的范围是全局的吗?
例如:
<?PHP
require_once('baz.php');
// do some stuff
foo ($bar);
function foo($bar) {
require_once('baz.php');
// do different stuff
}
?>
当 foo 被调用时,它会重新解析 baz.php 吗? 或者它是否依赖于主 php 文件中已经需要的文件(类似于对同一个包含文件连续调用 require_once 两次) )?
我之前看过这个帖子,但它并没有完全回答问题:
Should require_once "some file.php" ; appear anywhere but the top of the file?
感谢您的帮助!
最佳答案
require_once()
基本上依赖于物理文件来确定它是否已被包含。因此,调用 require_once()
的上下文并不重要,重要的是之前是否需要该物理文件。
在上面的代码中,您的 foo()
函数不会重新解析 baz.php
,因为它将与之前包含的文件相同顶部。
但是,根据是将其包含在 foo()
内还是将其包含在顶部,您将得到不同的结果,因为作用域将在 require_once()
时应用> 确实成功了。
关于php - PHP 中 require_once 的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679602/