Sortie de PHP 8.0
(php.net)-
Amélioration des performances grâce à deux moteurs JIT : Tracing JIT + Function JIT
-
Amélioration du système de types et de la gestion des erreurs
-
Arguments nommés
→ htmlspecialchars($string, double_encode: false);
- Attributs
→ #[Route("/api/posts/{id}", methods: ["GET"])]
- Promotion des propriétés dans le constructeur
→ __construct( public float $x = 0.0 ) {}
- Type union
→ private int|float $number
- Expression
match
→ match (8.0) { '8.0' => "Oh no!", 8.0 => "This is what I expected", };
- Opérateur nullsafe
→ $country = $session?->user?->getAddress()?->country;
- Comparaisons plus cohérentes entre chaînes et nombres
→ 0 == 'foobar' // false (avant, c'était true)
- En plus : classe WeakMap, interface Stringable, fonctions str_contains(), str_starts_with(), str_ends_with()
2 commentaires
Pour l’instant,
empty("0")=> true, mais qu’en sera-t-il dans la 8 ?!C'est toujours pareil dans la 8 aussi haha