0

これはphpからのプログラムです。保護された変数の値を静的関数から出力できません。このプログラムの何が問題になっていますか?

class SomeClass
{
    protected $_someMember;

    public function __construct()
    {
        $this->_someMember = 1;
        self::getSomethingStatic();
    }

    public static function getSomethingStatic()
    {  
        echo $_someMember * 5; 
    }
}
$obj = new SomeClass();
4

2 に答える 2

3

あなたはこのようなことを期待しています

class SomeClass
{
    protected static $_someMember = <default value>;

    public function __construct()
    {
        self::getSomethingStatic();
    }

    public static function getSomethingStatic()
    {  
        echo static::$_someMember * 5; 
    }
}
$obj = new SomeClass();
于 2013-02-23T11:09:36.840 に答える
2

staticに関する PHP のドキュメントを参照してください。静的関数はオブジェクト プロパティにアクセスできないことに注意してください。

実際、PHP の OOP 実装の詳細を知りたい場合は、こちらを参照してください

于 2013-02-23T11:08:54.357 に答える