我有以下简单的代码:
$a = 'hello';
function myfunc() {
echo 'in myfunc';
}
class myclass {
function __construct() {
myfunc();
echo $a;
}
}
$m1 = new myclass();
方法中的 echo $a 会产生错误,因为 $a 在全局范围内,如果不先将其声明为全局,就无法从类中访问它。这在 PHP 手册中有记录。
对 myfunc() 的调用确实有效,但我不明白为什么。它也在全局范围内声明,但该方法无需先将其声明为全局即可访问它。我似乎无法在 PHP 手册中找到任何解释其工作原理的内容。
也许我做 PHP 太久了,这太简单了,我忘记了它是如何工作的。任何见解或链接到 PHP 手册中说您可以从类方法中访问全局函数的位置将不胜感激。
提前致谢。