AndersonArruda

Artigos de tecnologia ao alcance de um clique!


PHP 8.4: Quais as novidades?
PHP 8.4 novidades do PHP 8.4 hooks de propriedade PHP visibilidade assimétrica PHP funções de array PHP 8.4 melhorias PHP 8.4 atualização PHP 2024 desenvolvimento PHP

PHP 8.4: Quais as novidades?

20/11/2024 23:29

Introdução


O PHP 8.4 chegou e trouxe uma série de recursos e melhorias que prometem transformar a experiência de desenvolvimento. Lançada em 21 de novembro de 2024, esta versão introduz funcionalidades inéditas, como hooks de propriedade e visibilidade assimétrica, além de aprimorar a performance e a segurança. Neste artigo, vamos explorar todas as novidades do PHP 8.4 e como você pode aproveitá-las em seus projetos.


Hooks de Propriedade: Simplificando Getters e Setters


Uma das principais novidades do PHP 8.4 são os hooks de propriedade, que permitem definir comportamentos personalizados para leitura e escrita diretamente na propriedade, eliminando a necessidade de métodos separados.


Exemplo:

class Usuario {
    public string $nomeCompleto {
        get => $this->nome . ' ' . $this->sobrenome;
    }

    public function __construct(private string $nome, private string $sobrenome) {}
}

$usuario = new Usuario('João', 'Silva');
echo $usuario->nomeCompleto; // João Silva


Visibilidade Assimétrica: Mais Controle sobre Propriedades


Agora é possível definir níveis diferentes de visibilidade para leitura e escrita de propriedades. Isso é útil, por exemplo, quando você deseja que uma propriedade seja pública para leitura, mas privada para escrita.


Exemplo:

class Produto {
    public private(set) float $preco;

    public function __construct(float $preco) {
        $this->preco = $preco;
    }
}

$produto = new Produto(100.0);
echo $produto->preco; // 100.0
$produto->preco = 150.0; // Erro: não é possível atribuir


Instanciação de Classes sem Parênteses


O PHP 8.4 removeu a necessidade de parênteses ao instanciar classes em cadeias de chamadas, tornando o código mais limpo e intuitivo.


Exemplo:

$usuario = new Usuario()->obterPerfil()->nome;


Novas Funções para Manipulação de Arrays


A manipulação de arrays foi facilitada com a adição de funções como array_find, array_find_key, array_any e array_all.


Exemplo:

$numeros = [1, 2, 3, 4, 5];

$primeiroPar = array_find($numeros, fn($n) => $n % 2 === 0); // 2
$existeMaiorQue3 = array_any($numeros, fn($n) => $n > 3); // true


Suporte Aprimorado ao HTML5 na Extensão DOM


A extensão DOM agora oferece suporte melhorado ao HTML5. Com a nova classe DOM\HTMLDocument, é possível trabalhar de forma mais eficiente com documentos HTML modernos.


Exemplo:

$html = '<!DOCTYPE html><html><body><p>Olá, mundo!</p></body></html>';
$documento = DOM\HTMLDocument::createFromString($html);
echo $documento->body->textContent; // Olá, mundo!


Hashing de Senhas Mais Seguro com BCrypt


O custo padrão do algoritmo BCrypt foi aumentado, garantindo maior segurança contra ataques de força bruta. Essa mudança é importante para aplicações que lidam com dados sensíveis.


Melhorias no Compilador Just-In-Time (JIT)


O compilador JIT do PHP recebeu uma nova implementação baseada no IR Framework, resultando em maior performance e eficiência no uso de recursos do sistema.


Funções Multibyte para Manipulação de Strings


Uma das adições discretas, mas incrivelmente úteis do PHP 8.4, é a introdução de funções multibyte específicas para manipulação de strings: mb_trim(), mb_ltrim() e mb_rtrim(). Essas funções são projetadas para trabalhar com strings que utilizam caracteres multibyte, garantindo suporte a idiomas que vão além do conjunto de caracteres ASCII tradicional.


O que são caracteres multibyte?


Os caracteres multibyte são aqueles que exigem mais de um byte para serem representados, comuns em idiomas como japonês, chinês, coreano, árabe e muitos outros. Em linguagens que usam caracteres não latinos, manipular strings corretamente pode ser um desafio devido à complexidade desses sistemas de escrita.


O que essas funções fazem?


Essas novas funções funcionam de forma semelhante às suas contrapartes tradicionais (trim(), ltrim() e rtrim()), mas com suporte completo para caracteres multibyte.


  • mb_trim(): Remove espaços em branco ou caracteres especificados de ambos os lados da string.
  • mb_ltrim(): Remove espaços ou caracteres especificados do início da string.
  • mb_rtrim(): Remove espaços ou caracteres especificados do final da string.


Exemplo de Uso

$string = " こんにちは ";
echo mb_trim($string); // "こんにちは"

// Trabalhando com caracteres especificados
$stringComCaracteres = "###Olá Mundo###";
echo mb_trim($stringComCaracteres, "#"); // "Olá Mundo"


Por que isso é relevante?


Essas funções são particularmente úteis em aplicações internacionais ou em sistemas que processam dados de usuários ao redor do mundo. Antes do PHP 8.4, os desenvolvedores tinham que criar soluções personalizadas ou utilizar bibliotecas externas para garantir o tratamento correto de strings multibyte.

Com essa melhoria, é possível:


  • Manipular strings com mais precisão e segurança.
  • Reduzir a dependência de bibliotecas externas.
  • Garantir que os dados sejam processados corretamente em idiomas que utilizam caracteres complexos.


Conclusão


As novas funções multibyte são um exemplo de como o PHP continua evoluindo para atender às necessidades de desenvolvedores modernos. Elas representam um grande avanço para projetos globais, onde o suporte robusto a idiomas é fundamental.


Se você trabalha com aplicações que exigem suporte para diversos idiomas, as funções mb_trim(), mb_ltrim() e mb_rtrim() são recursos indispensáveis para melhorar a qualidade do código e a experiência do usuário.


Conclusão


O PHP 8.4 reafirma o compromisso da linguagem com a inovação, trazendo recursos que tornam o código mais eficiente, seguro e legível. Se você trabalha com PHP, essa é uma versão que merece ser explorada.

Adotar as novidades do PHP 8.4 pode melhorar a qualidade e a performance dos seus projetos. Teste os novos recursos e descubra como eles podem beneficiar suas aplicações!


Gostou do conteúdo? Compartilhe este artigo com outros desenvolvedores e explore mais dicas e tutoriais no nosso blog. Não se esqueça de atualizar seu ambiente para o PHP 8.4 e aproveitar todas as vantagens!

Espaço para publicidade
0 Comentário(s)
Seja o primeiro a comentar o nosso artigo!
Todos os direitos reservados. © 2021-2031
SBBlog Powered By Powered By Sysborg | Powered By Anderson Arruda