关于php:仅在远程(不在本地)的意外“类”(T_CLASS)

unexpected 'class' (T_CLASS) only on remote (not in local)

本问题已经有最佳答案,请猛点这里访问。

我们developping a的CRM。

在本地,没有问题,但在远程(OVH),我有这个错误消息:

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home/dubinfo/www/CRM/model/Locataire.php on line 126

这是代码:

1
2
3
4
public function setVisites($visites) {
    $this->_visites = CheckTyper::isArrayOfModel($visites,
            VisiteMaisonInvestisseur::class, 'visites', __CLASS__);
}

PHP的版本在远程主机(OVH)是5.4.38


使用class作为常量名仅在php 5.5中可用。

要获得类名,可以将VisiteMaisonInvestisseur::class替换为get_class(new VisiteMaisonInvestisseur)

或者更改常量的名称。例如:VisiteMaisonInvestisseur::class_name


问题出在VisitMaisonInvestisseur::class上。class是php中的保留字,因此不能将其用作常量的名称。

如果它在本地服务器上工作,它必须是特定于版本的。但我在5.3和5.6中测试过,它们都报告了Classname::class的错误。