小编Joe*_*moe的帖子

PHP从类方法访问全局范围内的函数

我有以下简单的代码:

$a = 'hello';

function myfunc() {
    echo 'in myfunc';
}

class myclass {
    function __construct() {
        myfunc();
        echo $a;
    }
}

$m1 = new myclass();
Run Code Online (Sandbox Code Playgroud)

由于$ a在全局范围内,并且在未先声明为全局变量的情况下无法从类内部访问,因此该方法内的echo $ a会产生您所期望的错误。PHP手册中对此进行了说明。

调用myfunc()确实有效,但我不明白为什么。它也在全局范围内声明,但是该方法可以在不首先将其声明为全局范围的情况下访问它。我似乎在PHP手册中找不到任何能解释其工作原理的内容。

也许我从事PHP的时间已经太久了,这是如此简单,以至于我忘记了它是如何工作的。任何理解或链接到PHP手册中指出您可以从类方法中访问全局函数的地方,将不胜感激。

提前致谢。

php methods global class function

5
推荐指数
1
解决办法
4134
查看次数

标签 统计

class ×1

function ×1

global ×1

methods ×1

php ×1