Ошибка анализа: синтаксическая ошибка, неожиданный T_STATIC

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();

Ошибка анализа: синтаксическая ошибка, неожиданный T_STATIC в строке 7

Почему я могу получить ошибку синтаксического анализа и как ее исправить? Спасибо!

Ответы

Ответ 1

Ошибка синтаксического анализа здесь:

echo "Watching ".static::$favSport;

заключается в том, что поздние статические привязки были представлены в PHP v5.3. Ваша версия php (< 5.3) не распознает static::$favSport.

Нет никакого способа, как я могу придумать, чтобы исправить его для PHP старше 5.3, кроме как с наследованием объекта (что на самом деле не является исправлением, поскольку оно не имеет ничего общего с static)...