降级到PHP 5.3

问题描述 投票:-1回答:1

我有一行代码需要在PHP 5.3.3中运行,但我不能升级PHP版本。

错误出现在下面最后一行的::class属性中

(出乎意料的是T_CLASS,预期是T_STRING或T_VARIABLE或'$')。

上下文是。

abstract class E
{

    public static function validate($value)
    {
        $reflector = new ReflectionClass(static::class);

有什么办法能让它在 PHP 5.3.3 中工作?

php php-5.3
1个回答
0
投票

::class 在PHP 5.5中引入了类的常量。相当于 static::class 在PHP < 5.5中,将是 get_called_class()所以你代码中的错误行应该是这样的。

    $reflector = new ReflectionClass(get_called_class());
© www.soinside.com 2019 - 2024. All rights reserved.