【发布时间】:2013-06-30 12:19:51
【问题描述】:
我有以下简单代码:
$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 手册中说您可以从类方法中访问全局函数的位置将不胜感激。
提前致谢。
【问题讨论】:
-
我建议您接受@bwoebi 的回答,因为它最能解决您的问题:)
标签: php class function methods global