unexpected 'class' (T_CLASS) only on remot

2019-04-04 18:42发布

This question already has an answer here:

We are developping a CRM.

In local, I have no problem, but in remote (OVH), I have this error message :

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

This is the code :

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

The version of PHP on remote host (OVH) is 5.4.38

标签: php oop
2条回答
戒情不戒烟
2楼-- · 2019-04-04 19:00

Using class as a name of a constant is available in PHP 5.5 only.

To get the class name you can replace VisiteMaisonInvestisseur::class with get_class(new VisiteMaisonInvestisseur).

Or change the name of the constant. For example: VisiteMaisonInvestisseur::class_name.

查看更多
冷血范
3楼-- · 2019-04-04 19:05

The problem is with VisitMaisonInvestisseur::class. class is a reserved word in PHP, so you can't use it as the name of a constant.

If it works on your local server, it must be version-specific. But I've tested this in 5.3 and 5.6, and they both report an error for Classname::class.

查看更多
登录 后发表回答