Lançado PHP 8.4: o que mudou e por que isso é importante para desenvolvedores
A comunidade PHP recebeu o tão aguardado lançamento — PHP 8.4. A nova versão traz não apenas melhorias pontuais de desempenho, mas também mudanças fundamentais na sintaxe, que alteram a abordagem de escrita de código. Vamos analisar as principais novidades que todo desenvolvedor precisa conhecer.
Property Hooks — a revolução tão esperada no trabalho com propriedades
Uma das mudanças mais significativas é a introdução dos property hooks (ganchos de propriedades). Agora você pode definir getters e setters diretamente na declaração da propriedade, sem criar métodos separados. Isso torna o código mais limpo e reduz o código repetitivo.
- Getters e setters inline: agora é possível escrever
public string $name { get => $this->name; set => $this->name = $value; } - Inicialização preguiçosa: a propriedade pode ser calculada apenas no primeiro acesso, economizando recursos.
- Simplificação de DTOs e Value Objects: objetos de transferência de dados se tornam mais compactos e legíveis.
Tipagem Assimétrica (Asymmetric Visibility)
O PHP 8.4 introduz a possibilidade de definir visibilidades diferentes para leitura e escrita de uma propriedade. Por exemplo, você pode tornar uma propriedade pública para leitura, mas protegida para escrita. Isso resolve um antigo problema de encapsulamento sem criar métodos excessivos.
- Exemplo:
public private(set) string $title— a propriedade pode ser lida por todos, mas alterada apenas dentro da classe. - Mais seguro: permite um controle mais rigoroso sobre a mutabilidade dos dados.
Melhorias no compilador JIT
A equipe de desenvolvimento aprimorou significativamente o JIT (Just-In-Time compiler). No PHP 8.4, ele se tornou mais previsível e eficiente, especialmente para processos longos e cargas de API.
- Redução da sobrecarga de compilação.
- Suporte aprimorado para arquitetura ARM (Apple Silicon, Raspberry Pi).
- Ganho de desempenho em testes sintéticos de até 10-15%.
Nova sintaxe e depreciações
O lançamento não ficou sem açúcar sintático e remoção de funções obsoletas.
array_findaprimorado: agora é possível escreverarray_find($users, fn($u) => $u->active)— encontra o primeiro elemento correspondente.- Remoção de funções obsoletas: foram removidos do núcleo o
mysqlisem consultas preparadas e uma série de constantes raramente usadas. - Novos tipos: adicionados
trueefalsecomo tipos independentes para tipagem estrita.
O que isso significa para os desenvolvedores?
O PHP 8.4 é um passo em direção a um código mais moderno e seguro. Os property hooks e a visibilidade assimétrica reduzem a quantidade de código repetitivo, e o JIT aprimorado torna o PHP mais rápido sem alterar o código. Recomendamos começar a testar a compatibilidade dos seus projetos com a nova versão agora, especialmente se você usa frameworks como Laravel ou Symfony — eles já lançaram atualizações para suporte ao PHP 8.4.
Acompanhe as novidades no PythonLib — continuaremos analisando os detalhes técnicos do novo lançamento e escrevendo guias de migração.