Les nouveautés de PHP 8
(stitcher.io)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,|nulldevient? -
JIT
-
Type de retour
static -
WeakMap, qui stocke les références des objets -
::classsur les objets à la place deget_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
Comme toujours, une mise à niveau majeure a ce petit goût de rupture de compatibilité ! (…)
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.