0

「new classname()」を使用せずにphpクラスから変数を取得しようとしています

これは私のコードです:

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 に答える