【发布时间】:2021-07-05 16:58:16
【问题描述】:
这是 PHP 手册中的声明:
当一个文件被包含时,它包含的代码会继承该变量 包含发生的行的范围。任何可用的变量 在调用文件中的该行将在被调用中可用 文件,从那时起。但是,所有函数和类 在包含文件中定义的具有全局范围。
我有一个名为 inc.php 的文件,其函数定义如下:
function echo_name($name) {
echo $name;
}
另一个名为 main.php 的文件具有以下代码(版本 1):
// This call throws an error
echo_name('Amanda');
require_once("inc.php");
// This call works
echo_name('James');
如果不使用require_once,我直接把函数所有调用工作(版本2):
// This call works
echo_name('Amanda');
function echo_name($name) {
echo $name;
}
// This call works
echo_name('James');
PHP手册是什么意思
包含文件中定义的所有函数和类都具有全局范围。
当版本 1 中的代码失败但版本 2 有效时?
谢谢。
【问题讨论】: