PHP 7.3 e PHP 8: o que esperar das próximas versões


O que há de novo, as principais mudanças para o PHP 7.3, data de lançamento e o que esperar do PHP 8.

O PHP continua sendo a linguagem mais popular do lado do servidor para criar sites. Com uma participação de mercado estimada em 80%, a linguagem de programação de vinte e poucos anos está em toda parte. O PHP evoluiu, e as próximas principais etapas são o lançamento da versão 7.3.0 prevista para o final deste ano e as especulações sobre o PHP 8.0.0 com a compilação JIT (just in time).

Quer evoluir seu conhecimento? Vem comigo dar uma olhada.

A última grande versão do PHP foi 7.0.0. Esta versão foi um marco importante com desempenho significativamente aprimorado e menor uso de memória. Desde a versão 7.0, houve dois lançamentos adicionando recursos: 7.1 em 2016 e 7.2 em 2017.

Mas, assim como ocorre com os estados de versionamento semântico, não pode haver alterações significativas nas versões principais com o patch de versão semântica (major.minor.patch). A próxima versão secundária, PHP 7.3, está prevista para ser lançada no final de 2018.

O lançamento do PHP 8.0 ainda não está agendado, mas como é um grande salto, levará alguns anos. A partir de agora, também não há detalhes dos recursos, mas estima-se que a programação esteja a anos de distância. Algumas especulações definem o lançamento do PHP 8.0.0 para setembro de 2021:

php 7

O que se tornará obsoleto no PHP 7.3?

A RFC Deprecations for PHP 7.3 mostra algumas funcionalidades, no qual o uso será desencorajado, pois serão retiradas ou substituídas no PHP. Conforme RFC, estas funcionalidades deverão ser removidas o mais tardar na versão 8.0.

Abaixo algumas das funcionalidades que se tornarão obsoletas:

  • Extensão WDDX;
  • Alias de função mbstring usando um prefixo mb_ (por exemplo, mb_ereg );
  • mb_detect_encoding() sem strict mode;
  • Funções strip_tags() e fgetss();
  • Função image2wbmp

Principais novidades que entrarão no PHP 7.3

O PHP 7.3 será oficialmente lançado em novembro de 2018 e trará diversas novidades. Algumas das principais:

  • Flexibilidade de sintaxe Heredoc e Nowdoc;
  • Permitir vírgula à direita em chamadas de função e método;
  • Opção para fazer json_encode e json_decode lançar exceções em erros;
  • Atribuições de referências em list();
  • Função is_countable().

Todos os outros RFC’s aprovados, que estão sendo implementados na versão 7.3, você poderá ver aquiinclusive, com exemplos de código.

Estado de Just In Time (JIT), previsto para o PHP 8

A compilação Just In Time é uma maneira de otimizar o código de execução. É um método popular usado pela Java Virtual Machine (JVM), bem como a popular V8 JavaScript VM do Google.

Inicialmente, o desenvolvimento do PHP antes da evolução atual (PHP 7.x) se concentrava em melhorar o desempenho do PHP usando um JIT. Esse esforço resultou em melhorias substanciais nos benchmarks, mas provou fornecer pequenos aperfeiçoamentos em aplicações do mundo real, como WordPress ou Joomla.

Depois que o trabalho foi feito para o PHP 7.0, fornecendo melhorias significativas, as otimizações no desempenho nas versões 7.1 e 7.2 foram bastante modestas. É por isso que a equipe está trabalhando na implementação do JIT novamente. Existem alguns resultados encorajadores, mas ainda não há uma análise profunda sobre o projeto PHP JIT.

php 7

Como o PHP é um software de código aberto, os desenvolvedores podem baixar e compilar o código-fonte. No entanto, muitas pessoas evitam a possibilidade de compilar software por conta própria. Felizmente, há uma imagem do Docker disponível que permite aos desenvolvedores experimentarem as compilações mais recentes do PHP JIT com facilidade:

Este repositório ajuda a testar o php com suporte a jit experimental. Ele foi criado inspirado no tweet acima que fala sobre 54% de melhoria no desempenho.
Imagem do Docker do PHP com suporte experimental ao JIT

Tanto o JIT quanto o 8.0.0 aparecem no futuro do PHP, mas ambos são recursos significativos que permanecem no futuro. E, especialmente para o JIT, os processos de vida curta do PHP não são ideais para a implementação do JIT – isso é comparado a processos em execução contínua como o Node.js ou o Java.

Na página dos RFC’s você encontra a documentação completa de todas as features e versões, inclusive com exemplos. A versão 7.3 está em desenvolvimento, então tem features que ainda estão em discussão, e claro, não se limita apenas a novas features, então vale muito a pena conferir a documentação.

Isso é tudo por enquanto, mas se você se deparar com outras mudanças que não são mencionadas aqui, dúvidas ou sugestões, deixe um comentário abaixo.

Caso queira acompanhar mais posts sobre o PHP, fique ligado no Blog da KingHost.

Resumo
PHP 7.3 e PHP 8: o que esperar das próximas versões
Nome do Artigo
PHP 7.3 e PHP 8: o que esperar das próximas versões
Descrição
Descubra o que esperar e o que se sabe até agora sobre as próximas versões PHP 7.3 e o ainda distante e muito aguardado PHP 8.
Autor
Nome
KingHost
Logo
Fernando Silva

Fernando Silva

Analista de Desenvolvimento em KingHost
Analista de Desenvolvimento na KingHost, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre, onde ganhou o Prêmio Keller de melhor trajetória acadêmica. Atualmente faz pós-graduação em Segurança Cibernética pela UFRGS, além disso, é um dos coordenadores da comunidade PHP-RS, é entusiasta Open Source e Software Livre.
Fernando Silva

Comentários

comentário(s)

Categories