1

いくつかの遅い静的バインディングをテストし、5行目でこのエラーを取得します。

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE

5行目:

protected static test = 'A TEST';

ソースは次のとおりです。

class A {

    protected static test = 'A TEST';

    public static function test() {
        echo $this->test;
    }
}

Class B extends A {
    public static test = "B TEST";
    public function static_test() {
        echo static::$test;
    }
}

$a = new A;
$b = new B;

echo '$a->test()<br />';
echo $a->test();
echo '<br /> <br />';
echo '$b->test()<br />';
echo $b->test();
echo '<br /> <br />';
echo '$b->static_test()<br />';
echo $b->static_test();

私は困惑していると言っても過言ではありません。

4

1 に答える 1

5
protected static $test = 'A TEST';
                 ^--- !!!

これは定数ではないため、前に$記号を付ける必要があります

于 2012-07-18T20:33:27.420 に答える