如何从PHP类中到达“全局变量”

0 php

可能重复:
从类中访问全局变量

我得到以下代码:


$foo = 'foo';

class bar
{
    public function __construct()
    {
        var_dump($foo);
    }
}

$bar = new bar();

Run Code Online (Sandbox Code Playgroud)

这将导致NULL值。是否可以在类栏中达到$ foo?用一些花哨的魔术词在PHP?

Gor*_*don 5

是的,魔术词称为自变量

class bar
{
    public function __construct($foo)
    {
        var_dump($foo);
    }
}
$foo = 'foo';
$bar = new bar($foo);
Run Code Online (Sandbox Code Playgroud)

您不希望global在代码中使用关键字。功能(和方法)应该是可测试的隔离单元。如果使用global关键字,则实际上是在函数作用域内对全局作用域的依赖关系。通过参数注入依赖关系更好,更可维护。