2011-01-12 15 views
11
class Employee 
{ 
    public static $favSport = "Football"; 

    public static function watchTV() 
    { 
     echo "Watching ".static::$favSport; 
    } 
} 

class Executive extends Employee 
{ 
    public static $favSport = "Polo"; 
} 

echo Executive::watchTV(); 

Parse error: syntax error, unexpected T_STATIC on line 7解析エラー:構文エラー、予期しないT_STATIC

は、なぜ私はパースエラー&を取得し、どのようにそれを修正するのですか?ありがとう!ここ

+0

よりも古い自己を使用)(phpversionのリターンは何ですか? – powtac

答えて

26

パースエラー:late static bindingsはPHPのV5.3で導入されたため

echo "Watching ".static::$favSport; 

です。あなたのPHPバージョン(< 5.3)はstatic::$favSportを認識しません。

オブジェクト継承以外で5.3より古いPHPのために修正する方法はありません(これは実際にはの修正とは関係ありません)。 staticが)...

+0

ああ、公正なポイント。 +1 –

+0

@Pekka:PHP4は 'public'キーワードでチョークします:) – BoltClock

+0

ありがとうございます - それは正しいです:) – easyrider

関連する問題