在PHP中调用静态类成员

I am trying to get a variable from a php class without having to use "new classname()"

This is my code:

class myVars {
    static $varx = null;

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

echo myVars::$varx;

I also tried replacing $this-> with self::, but nothing gets printed. How should I code the class in order to call myVars::$varx?

The problem you are having, is that you are not instantiating an object, so the constructor never gets called.

What you could do is:

class myVars {
    static $varx = null;

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

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

Or you could create an object and have the constructor change the static variable.

This should make your static variable publicly accessible.

class myVars {
    public static $varx = null;

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

echo myVars::$varx;

However, in your example, the constructor is never called, so the modification to the static variable is never made.