Laravel parse error : syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE
Comment corriger l'ERREUR HTTP 500 :
Laravel parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE
Origine :
Laravel 5.1 et les versions supérieures utilisent la propriété ::class pour obtenir des représentations en chaîne d'un nom de classe pleinement qualifié. L'erreur résulte d'un code comme :
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
Cette fonctionnalité du langage a été introduite dans PHP 5.5, qui est requis par Laravel 5.1 ou supérieur. Votre version de PHP installée est probablement antérieure à 5.5. Mettez à jour votre binaire PHP pour résoudre ce problème.
Pourquoi ::class est ajouté aux classes PHP dans Laravel 5.1 et supérieur
La propriété ::class contient le nom pleinement qualifié (FQN) de la classe. Les avantages incluent :
- Moins de fautes de frappe
- Refactorisation plus facile
- Support de l'auto-complétion
- Navigation vers les fichiers de classe dans les IDE
Solution :
Laravel 5.5 et les versions supérieures nécessitent PHP 7.0.0 ou supérieur. Assurez-vous que votre serveur dispose de ces composants :
- PHP 7.0.0 ou supérieur
- Extension PHP OpenSSL
- Extension PHP PDO
- Extension PHP Mbstring
- Extension PHP Tokenizer
- Extension PHP XML
- GD ou Imagick
- Extension PHP Fileinfo
- PHP Zip Archive
Pour vérifier votre version de PHP, créez un fichier avec <?php phpinfo(); sur votre serveur.