【问题标题】:Parse error: syntax error, unexpected T_STATIC [closed]解析错误:语法错误,意外的 T_STATIC [关闭]
【发布时间】:2011-06-07 19:14:09
【问题描述】:
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

为什么会出现解析错误以及如何解决?谢谢!

【问题讨论】:

  • phpversion() 的返回是什么?

标签: php


【解决方案1】:

这里的解析错误:

echo "Watching ".static::$favSport;

是因为late static bindings 是在 PHP v5.3 中引入的。您的 php 版本 (static::$favSport。

除了对象继承(这本身并不是真正的修复,因为它没有与static) 有任何关系...

【讨论】:

  • @Pekka:PHP 4 会因public 关键字而窒息:)
  • 用类名替换static怎么样?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 2014-04-02
    • 2011-10-26
    • 2014-09-02
    • 2014-04-26
    • 2013-10-02
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多