繁体   English   中英

在PHP中调用静态类成员

[英]Calling static class member in PHP

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

这是我的代码:

class myVars {
    static $varx = null;

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

echo myVars::$varx;

我也尝试用self ::替换$ this->,但没有打印出来。 我应该如何编写类来调用myVars :: $ varx?

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

class myVars {
    public static $varx = null;

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

echo myVars::$varx;

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

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

你能做的是:

class myVars {
    static $varx = null;

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM