Sobes.tech
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_QUOTES e 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