Foi lançado o novo PHP 8.4: o que mudou
A comunidade de desenvolvedores recebeu o tão aguardado lançamento do PHP 8.4. Esta atualização traz não apenas funcionalidades muito esperadas, mas também melhorias significativas de desempenho que mudarão a abordagem de escrever código moderno. Vamos analisar as principais novidades que todos que trabalham com PHP devem conhecer.
Property Hooks (interceptadores de propriedades)
Uma das novidades mais comentadas — property hooks. Agora você pode definir a lógica de leitura e escrita de propriedades diretamente na classe, sem criar métodos get/set separados:
- get hook — é chamado ao acessar a propriedade, permitindo calcular o valor dinamicamente;
- set hook — é chamado ao atribuir, possibilitando validar ou transformar os dados;
- A sintaxe é concisa e lembra propriedades em Kotlin ou C#.
Isso simplifica a escrita de código e o torna mais legível, eliminando a necessidade de getters e setters.
Propriedades Assimétricas (Asymmetric Visibility)
O PHP 8.4 introduz a visibilidade assimétrica para propriedades. Agora é possível definir diferentes níveis de acesso para leitura e escrita:
- Por exemplo,
public private(set) string $name— a propriedade pode ser lida de qualquer lugar, mas modificada apenas dentro da classe; - Isso aumenta o encapsulamento e a segurança do código sem métodos extras.
Melhorias no compilador JIT
A equipe de desenvolvimento aprimorou significativamente o JIT (compilador Just-In-Time). No PHP 8.4:
- Melhor desempenho ao trabalhar com loops e operações matemáticas;
- Menor consumo de memória durante a compilação;
- Motor IR (Intermediate Representation) atualizado, resultando em ganhos de velocidade de até 10-15% em alguns benchmarks.
Isso é especialmente importante para projetos de alta carga e frameworks.
Novas funções e melhorias na biblioteca padrão
O lançamento inclui várias adições úteis:
- array_find() — função para encontrar o primeiro elemento que satisfaz uma condição (análogo ao
array_filter, mas retorna um único elemento); - array_all() e array_any() — verifica se todos os elementos ou pelo menos um correspondem à função de callback;
- mb_ucfirst() — para trabalhar com strings multibyte (análogo ao
ucfirst, mas com suporte a UTF-8).
Essas funções simplificam tarefas comuns e reduzem a quantidade de código boilerplate.
Outras mudanças importantes
- Tipagem aprimorada: adicionado suporte a tipos para constantes de classe;
- Otimização no tratamento de exceções: redução da sobrecarga em throw/catch;
- Remoção de funções obsoletas: alguns elementos deprecated de versões antigas foram finalmente removidos.
O que isso significa para os desenvolvedores
O PHP 8.4 não é apenas uma atualização planejada, mas um passo em direção a uma linguagem mais moderna, performática e conveniente. Property hooks e visibilidade assimétrica mudam o paradigma de trabalho com classes, e as melhorias no JIT tornam o PHP ainda mais competitivo no campo de aplicações web de alta carga.
Recomendamos atualizar seus projetos para