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
为什么我会得到解析错误&以及如何解决它?谢谢!
答案 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