O lançamento do PHP 7.3 acontece bem na chegada de dezembro, aquela época em que algumas coisas são tão certas quanto a piada do pavê na ceia de natal, as promessas pro próximo ano (que nunca cumprimos) e o show do Roberto Carlos em uma famosa rede de televisão aberta.
Já algo que não costuma ser rotineiro para dezembro são as releases do PHP, que normalmente têm novembro como data-base. Dessa vez a release tinha sido prometida para 13 de dezembro, mas acabaram surpreendendo todos, disponibilizando a público no último dia dia 6.
Esse lançamento surpresa nos fez correr atrás para disponibilizar a versão o mais rápido possível. Na sexta-feira, dia 07, um dia depois, lançamos para hospedagem Windows e, hoje, 10, para Linux. Ou seja, mesmo com esses contratempos, a espera finalmente acabou e conseguimos brindar os nossos clientes com mais esta release!
O que muda no PHP 7.3 ?
Não vou me focar aqui em features funções descontinuadas, implementações, para isto temos o excelente artigo do colega Fernando sobre php 7.3 e php 8: o que esperar dessas versões – ao invés disso trarei algumas informações sobre otimizações, back-end e performance.
Primeiramente, os benchmarks: o foco do PHP nas últimas releases têm sido a otimização do OpCode e redução de uso de memória, isso pode ser vistos em alguns benchmarks da OpenBenchmark, ao qual o gráfico mostra claramente o fruto dessa otimização.
O teste completo pode ser visto no site da phoronix.
Já em um cenário de aplicação real (utilizamos WordPress + Woocommerce + JetPack + Tema StoreFront) notamos uma grande diferença do mesmo entre as versões 7.2 e 7.3.
Dentre as diversas otimizações efetuadas, a que gostaria de destacar se chama DCE (Dead Code Optimization).
Esta feature efetua uma análise de código retirando variáveis, constantes, métodos, e até mesmo trechos de código não utilizados!
Como exemplo dessas otimizações, observe o código abaixo:
public function foo($a){ if($a){ $b = array(0, 1); }else{ $b = array(0, 2); } return $b[0]; }
Nota-se que não importa a se o $a é true ou false, a função sempre irá retornar 0.
Nesse cenário, ao compilar o código para OpCode, o PHP ira considerar apenas:
public function foo($a){ return 0; }
Obviamente em um código bem escrito, pode não ser algo tão impactante, porém pense em código legado, escrito por diversas pessoas com skills diferentes. Para este cenário o potencial ganho de performance é gigante!
Posso atualizar para o PHP 7.3?
Essa atualização é altamente recomendada para todos que ainda usam versões 5.X do PHP, se apenas o aumento de performance não é suficiente para justificar a mudança, alguns números podem embasar essa alteração.
Hoje existem aproximadamente 2 bilhões de sites na internet hospedados em cerca de 10 milhões de servidores físicos, sendo o PHP responsável, em uma estimativa extremamente modesta, 50 % desses sites (algumas métricas apontam cerca de 80%).
Entretanto, apenas 24,1% das aplicações em PHP, rodam sob versão 7.X
Visto que a diferença de performance entre o PHP 5 e o PHP 7 chega a impressionantes 8 para 1, podemos estimar o seguinte: se todos os sites que usam a versão 5 migrarem para a 7 poderíamos ter:
– Redução de custo global de cerca de US$ 4 Bilhões;
– Redução de consumo elétrico de 15 Bilhões de KW/H;
– Redução de 7.5 Bilhões de KG de CO2 na atmosfera;
Das informações acima podemos dizer que atualizar o PHP de sua aplicação, além de gerar economia de energia elétrica, pode ajudar a salvar os pinguins do ártico! =P
E a compatibilidade ao migrar?
Algumas funções foram descontinuadas nas versões 7.x, e para esta finalidade, disponibilizo aqui uma biblioteca, que pode tornar o mais transparente possível esta migração.
A instalação da biblioteca pode ser via composer (recomendado, saiba como usar e instalar aqui) ou clonando o repositório incluindo os wrappers manualmente no código.
Também gostaria de dar enfase a uma biblioteca escrita pelo Rasmus Ledorf, o criador do PHP, em pessoa!
Esta library visa verificar sintaxe, trecho de códigos não utilizados entre muitas outras features. E além de tudo, é expansível via plugins.
Esta é uma ótima solução para testes automatizados e/ou integração continua em aplicações PHP.
Em resumo, o PHP cada vez mais mostra o porquê de ser uma linguagem tão popular, pois mesmo um programador iniciante pode escrever códigos que simplesmente funcionam, e com o bônus de manter performance mesmo em cenários não tão bem construídos!
Quer garantir uma hospedagem que está sempre em constante atualização com as novas versões de linguagens? Vem para KingHost, sua parceira de sucesso!
O que você achou deste conteúdo?