一个类里面的PHP全局变量

mag*_*gie 3 php global-variables

假设我有一个Bla包含变量的类$x.

我希望这个变量$x在第一个创建的对象设置后保持其他对象的值.

例如:

$object1 = new bla(.....);
$object1->setx();
$object1->getx();

$object2 = new bla(.....);
$object2->getx();
Run Code Online (Sandbox Code Playgroud)

所以我想:

 $object2->getx()
Run Code Online (Sandbox Code Playgroud)

......给我我已经设定的价值object1.

我尝试$x在类中使用全局变量,事实证明它是不可能的.我可以在课外使用它,然后在课堂内访问这个变量吗?

其他方法有哪些?

小智 5

如果您希望它们具有一个相同的值,则使用静态变量,无论其类实例如何都可用(教程):

class bla
{
    private static $x;

    public function setx($x) {
        self::$x = $x;
    }

    public function getx() {
        return self::$x;
    }
}

$object1 = new bla();
$object1->setx(5);
echo $object1->getx();
echo '<br>';

$object2 = new bla();
echo $object2->getx();
Run Code Online (Sandbox Code Playgroud)

输出:

5
5
Run Code Online (Sandbox Code Playgroud)