PHP 8.0 já está disponível com um compilador JIT e muitos novos recursos

PHP 8.0 já está disponível com um compilador JIT e muitos novos recursos

Poucos meses depois de o PHP completar 25 anos, sua versão 8.0 acaba de ser lançada. PHP continua a ser a linguagem de programação mais amplamente usada na Internet quando se trata de gerar páginas da Web dinâmicas (79% delas), apesar da força de tecnologias como Node.js ou ASP.NET.

A versão anterior do PHP 7.4 (que continuará recebendo suporte até 6 de dezembro de 2021) trouxe notáveis melhorias de desempenho. Aliás, este é um item em que a versão 8.0 também terá destaque. No entanto, isso vem acompanhado de muitas outras novidades.

Compilador JIT

Sem dúvida, a principal novidade do PHP 8 é a introdução do compilador JIT (Just in Time) , que permitirá a você compilar certas partes do código na hora, em tempo de execução. Esta funcionalidade, que estava para ser incluída na versão 7.4, está em desenvolvimento há anos e representa uma grande mudança para o ecossistema PHP.

Quando você atualiza sua instalação atual do PHP, o compilador JIT aparecerá desabilitado por padrão. Entretanto, isso pode ser habilitado no arquivo php.ini, permitindo que o código nativo dos arquivos PHP sejam armazenados em uma região adicional da memória compartilhada OPcache.

Os testes preliminares confirmaram que a ativação do compilador JIT permite um desempenho quádruplo de alguns tipos de tarefas, especialmente aquelas que requerem muitos recursos da CPU.

A verdade é que isso, ao invés de beneficiar aplicações web tipicamente vinculadas ao PHP (como, por exemplo, Wordpress), o que faz é antes de tudo abrir novas possibilidades ao PHP como linguagem de programação, permitindo a utilização como aprendizado de máquina.

PHP 8.0 já está disponível com um compilador JIT e muitos novos recursos

O PHP 8 também incorpora várias mudanças pequenas, mas relevantes no nível sintático, como:

  • A introdução de argumentos com nome, o que dispensa combinar a ordem dos parâmetros com a lista dos métodos usados.
  • Propagação automática de propriedades: atualmente, quando queremos definir uma propriedade em PHP, somos forçados a repeti-la até três vezes antes de começar a usá-la. Porém, esse novo recurso nos permite reduzir significativamente a quantidade de código usado:
Antes e depois.
  • Suporte para union types: Antes do PHP 8, só podíamos especificar tipos de união usando anotações PHPdoc, mas a nova versão adicionará suporte para tipos de união em assinaturas de função, economizando um pouco de código novamente.
  • Match expression: o PHP incorpora uma nova expressão de correspondência semelhante a switch, mas com semântica mais segura, bem como a capacidade de retornar valores.
  • Novo operador nullsafe: Atualmente, quando queríamos verificar no PHP se um getter não retornava null , fomos forçados a aninhar ifs sucessivos . Mas a partir de agora, o primeiro getter que retorna nulo abortará a execução de toda a string:
Antes e depois.
  • Throw expression: Até agora, no PHP, throw era uma declaração, então não era possível usá-lo em locais onde apenas o uso de uma expressão era permitido. A partir de agora, porém, será considerada uma expressão.

Veja mais detalhes neste anúncio de lançamento.

Acesse a versão completa
Sair da versão mobile