Lançamento do PHP 8.0
(php.net)-
Melhoria de desempenho com dois motores JIT: Tracing JIT + Function JIT
-
Melhorias no sistema de tipos e no tratamento de erros
-
Argumentos nomeados
→ htmlspecialchars($string, double_encode: false);
- Atributos
→ #[Route("/api/posts/{id}", methods: ["GET"])]
- Promoção de propriedades no construtor
→ __construct( public float $x = 0.0 ) {}
- Tipo de união
→ private int|float $number
- Expressão
match
→ match (8.0) { '8.0' => "Oh no!", 8.0 => "This is what I expected", };
- Operador nullsafe
→ $country = $session?->user?->getAddress()?->country;
- Comparações entre string e número mais sensatas
→ 0 == 'foobar' // false (antes era true)
- Adições: classe WeakMap, interface Stringable, funções str_contains(), str_starts_with() e str_ends_with()
2 comentários
Agora
empty("0") => true, mas e no 8?!No 8 continua a mesma coisa haha