我试图从php类中获取变量而不必使用“new classname()”
这是我的代码:
class myVars {
static $varx = null;
public function __construct() {
$this->varx = "test";
}
}
echo myVars::$varx;
我也试过更换$ this->与self ::,但没有任何东西被打印出来。我应该如何编写类来调用myVars :: $ varx?
答案 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;
或者您可以创建一个对象并让构造函数更改静态变量。