解析错误:语法错误,意外T_STATIC

时间:2011-01-12 12:03:32

标签: php

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

解析错误:语法错误,第7行意外T_STATIC

为什么我会得到解析错误&以及如何解决它?谢谢!

2 个答案:

答案 0 :(得分:26)

这里的解析错误:

echo "Watching ".static::$favSport;

是因为在PHP v5.3中引入了late static bindings。您的php版本(< 5.3)无法识别static::$favSport

我没有任何办法可以考虑为5.3以上的PHP修复它,除了使用对象继承(实际上它不是修复本身,因为它没有与static)...

有关

答案 1 :(得分:4)

我遇到了同样的问题,但是我在我的php版本5.2.1中使用self代替static 远远超过5.3 http://php.net/manual/en/language.oop5.late-static-bindings.php