3 points par xguru 2020-02-04 | 2 commentaires | Partager sur WhatsApp

Ce qui sera ajouté à PHP 8, dont la sortie est prévue d’ici la fin de l’année

  • Types union : sous la forme int|float, |null devient ?

  • JIT

  • Type de retour static

  • WeakMap, qui stocke les références des objets

  • ::class sur les objets à la place de get_class()

  • DateTime::createFromInterface()

  • Fonction fdiv

  • Annotations de type pour les fonctions intégrées

Changements cassant la compatibilité

  • Les fonctions intégrées lanceront elles aussi des exceptions TypeErrors

  • De nombreuses erreurs qui n’émettaient qu’un avertissement seront modifiées pour lancer des exceptions appropriées

  • Le niveau de rapport d’erreurs par défaut passera à E_ALL, ce qui fera apparaître de nombreuses erreurs auparavant ignorées silencieusement

  • L’opérateur @ ne permettra plus d’ignorer les erreurs fatales

  • Ajustement de la priorité des opérateurs de concaténation '+', '-' et '.'. +/- seront traités avant .

2 commentaires

 
kunggom 2020-02-04

Comme toujours, une mise à niveau majeure a ce petit goût de rupture de compatibilité ! (…)

 
xguru 2020-02-04

Plus que les nouvelles fonctionnalités, le vrai changement important me semble être la partie sur la gestion des erreurs et des exceptions ci-dessous.

Si on met simplement à niveau sans trop savoir ce qu’on fait, il y a de fortes chances que des sites PHP qui ignoraient jusque-là silencieusement les erreurs se retrouvent avec des problèmes.