Middle
Quais novas funcionalidades foram introduzidas na versão PHP 7.4?
sobes.tech IA
Resposta da IA
- Propriedades tipadas de classes.
- Funções de seta (sintaxe curta para funções anónimas).
- Operador de união com null opcional (
??=). - Pré-carregamento (Preloading) para melhorar o desempenho.
- Operador de expansão em arrays (
...). - Referências fracas (Weak References) para gestão de memória.
- Covariância e contravariância limitadas de tipos.
- CFI (ficheiros ini personalizados) — suporte para ficheiros ini personalizados.
- Depreciações de algumas funções e funcionalidades (por exemplo, aliases
is_countable,FILTER_SANITIZE_MAGIC_QUOTESe outros). - Melhorias na FFI (Interface de Funções Externas).
- Separação de milhares em literais numéricos (
1_000_000).
<?php
// Propriedade tipada
class User
{
public string $name;
public ?int $age; // Pode ser null
}
// Função de seta
$func = fn(int $a, int $b) => $a + $b;
echo $func(1, 2); // 3
// Operador de união com null
$data = [
'key' => null,
];
$value ??= 'default';
echo $value; // default
// Operador de expansão em arrays
$arr1 = [1, 2];
$arr2 = [3, 4];
$merged = [...$arr1, ...$arr2]; // [1, 2, 3, 4]
<?php
// WeakReference
$obj = new stdClass;
$weakref = WeakReference::create($obj);
unset($obj); // Objeto eliminado
// Verificação
var_dump($weakref->get()); // null