dqrzot2791 2012-08-30 01:41
浏览 18
已采纳

在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?

  • 写回答

2条回答 默认 最新

  • dongyou6795 2012-08-30 01:46
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?