0

我正在尝试从 php 类中获取一个变量,而不必使用“new classname()”

这是我的代码:

class myVars {
    static $varx = null;

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

echo myVars::$varx;

我还尝试将 $this-> 替换为 self::,但没有打印任何内容。我应该如何对类进行编码以调用 myVars::$varx?

4

2 回答 2

1

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

class myVars {
    public static $varx = null;

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

echo myVars::$varx;

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

于 2012-08-30T01:44:04.367 回答
1

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

你可以做的是:

class myVars {
    static $varx = null;

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

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

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

于 2012-08-30T01:46:37.363 回答