Parse error: syntax error, unexpected T

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

Why do I get parse error & and how to fix it? Thanks!


The parse error here:

echo "Watching ".static::$favSport;

is because late static bindings were introduced in PHP v5.3. Your php version (<5.3) doesn't recognize static::$favSport .

There isn't any way I can think of to fix it for PHP older than 5.3, other than with object inheritance (which isn't really a fix per se since it doesn't have anything to do with static )...


我有同样的问题,但我用我自己的地方静态为我的PHP版本5.2.1远远比5.3 http://php.net/manual/en/language.oop5.late-static-bindings.php

链接地址: http://www.djcxy.com/p/11930.html

上一篇: Laravel解析错误:语法错误,意外的T

下一篇: 解析错误:语法错误,意外的T