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
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
withget_class(new VisiteMaisonInvestisseur)
.Or change the name of the constant. For example:
VisiteMaisonInvestisseur::class_name
.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
.