在PHP中调用静态类成员

时间:2012-08-30 01:41:59

标签: php class static static-members

我试图从php类中获取变量而不必使用“new classname()”

这是我的代码:

class myVars {
    static $varx = null;

    public function __construct() {
        $this->varx = "test";
    }
}

echo myVars::$varx;

我也试过更换$ this->与self ::,但没有任何东西被打印出来。我应该如何编写类来调用myVars :: $ varx?

2 个答案:

答案 0 :(得分:1)

这应该可以公开访问您的静态变量。

class myVars {
    public static $varx = null;

    public function __construct() {
        self::$varx = "test";
    }
}

echo myVars::$varx;

但是,在您的示例中,永远不会调用构造函数,因此永远不会对静态变量进行修改。

答案 1 :(得分:1)

您遇到的问题是您没有实例化对象,因此构造函数永远不会被调用。

你能做的是:

class myVars {
    static $varx = null;

    public function __construct() {
        $this->varx = "test";
    }
}

myVars::$varx = "test";
echo myVars::$varx;

或者您可以创建一个对象并让构造函数更改静态变量。