Aguarde...

17 de novembro de 2020

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

O PHP 8 está chegando e o WordPress roda em PHP. É o núcleo de absolutamente tudo que a plataforma faz, desde suas funções subjacentes até complementos como temas e plug-ins. De todas as linguagens que o WordPress usa, o PHP é de longe a mais importante.

Como consequência, você pode imaginar que as principais atualizações do PHP são um grande negócio. Desde acelerar seu site até adicionar novos atributos e funções para os desenvolvedores trabalharem, é importante acompanhar tudo isso. Mesmo se você não for um desenvolvedor, você deve ter uma ideia geral do que procurar quando for a hora de atualizar sua versão do PHP .

Vamos repassar agora: os principais novos recursos do PHP 8, por que você precisa atualizar o mais rápido possível e como fazer isso quando o suporte oficial for implementado.

Por que prestar atenção às atualizações do PHP?

Com cada atualização do PHP, vem uma série de novos recursos importantes. Nem todos eles são relevantes para usuários casuais e alguns são até nichos demais para a maioria dos desenvolvedores. Mas aspectos como maior velocidade, alterações interrompidas que podem danificar o código existente e outros complementos relativamente menores ainda podem ter um impacto no fluxo de trabalho de desenvolvimento .

O PHP como mecanismo está em constante mudança, com novos bits sendo adicionados ou modificados para otimizar o código e torná-lo mais fácil de trabalhar. Os criadores de temas e plugins, bem como desenvolvedores de sites, vão querer se manter atualizados com o que está acontecendo.

Dessa forma, você não terá que trabalhar duro por muita documentação para obter várias atualizações a partir de agora.

Embora cada nova versão traga mudanças principalmente positivas, às vezes esses ajustes podem causar problemas com o código existente. Atributos desatualizados e códigos incompatíveis com versões anteriores podem acabar quebrando seu site e fazendo com que partes dele parem de funcionar.

Você vai querer saber quais são essas alterações significativas para que você ou seus desenvolvedores possam resolvê-las em seu código personalizado e também fazer uso de expressões novas e mais otimizadas.

E mesmo que você nunca tenha tocado em um código PHP personalizado em sua vida, quando o WordPress adicionar suporte para a próxima versão do PHP, você terá que escolher: Atualizar ou não?

A resposta quase sempre é sim, mas você vai querer pelo menos dar uma olhada nos principais recursos e certificar-se de que não há nada lá que possa causar problemas para você.

O que há de novo no PHP 8?

Embora não seja a maior atualização de longe, há algumas mudanças muito interessantes no PHP 8. A atualização menor também é uma bênção, pois significa que há menos alterações importantes para causar problemas com o código existente. Você obtém todos esses novos recursos sem ter que gastar horas solucionando problemas.

Isso está longe de todos os extras que vêm com o PHP 8, então certifique-se de verificar o changelog completo para mais.

O PHP 8.0 será lançado em 26 de novembro de 2020, então fique de olho nisso e prepare-se para um eventual suporte a WordPress.

Compilador JIT (Just In Time)

Provavelmente, a maior e mais interessante adição do PHP 8 é o compilador JIT. PHP é uma linguagem interpretada, o que significa que roda em tempo real, ao invés de ser compilado e executado na inicialização. JIT traz código compilado para PHP e, com ele, melhor desempenho – em algumas situações.

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

Se você estiver trabalhando com aplicativos da web como a maioria dos desenvolvedores de PHP, o JIT não ajudará muito, como mostram esses benchmarks de desempenho . Mas quando se trata de certas tarefas, como renderização 3D, análise de dados, inteligência artificial e outros processos de longa duração, isso faz uma grande diferença.

Esses não são os aplicativos mais comuns do PHP, mas muitos desenvolvedores estão se ramificando, então isso torna o mecanismo muito mais flexível. O JIT certamente abrirá os horizontes do PHP e atrairá desenvolvedores interessados ​​em experimentar coisas novas.

Mas para projetos existentes, pode não fazer muito. Antes de implementar o JIT, certifique-se de testá-lo em um ambiente isolado e ver se ele melhora seu desempenho ou não.

Atributos

PHP agora oferece suporte a atributos, ou pequenos pedaços de metadados que você adiciona a partes do seu código: funções, classes, parâmetros, esse tipo de coisa. Isso significa que você não precisa mais usar docblocks como solução alternativa! É uma pequena mudança, mas que torna a vida muito mais fácil.

Você pode adicionar vários atributos a qualquer parte do código, importá-los com instruções de uso e adicionar parâmetros aos atributos também. Adicionar um atributo ao seu código com dois a menos do que e dois sinais de maior que: <<Attribute>>.

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

Uma coisa a se notar é que os atributos não são compatíveis com versões anteriores e causarão erros se transferidos para versões anteriores do PHP.

A solução alternativa do docblock é funcional, mas sempre foi um pouco desajeitada. Agora você pode adicionar atributos diretamente. Para uma adição tão pequena, isso tem implicações enormes.

Expressão de correspondência

Se as instruções switch são uma versão mais poderosa das instruções if, a nova expressão de correspondência melhora ainda mais. É mais curto, mais rígido (para detectar bugs melhor), combina condições e não requer uma instrução break. Em muitos aspectos, é simplesmente melhor!

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

A única coisa que o switch tem mais correspondência agora: ele pode usar várias expressões. Fora isso, você deve ler mais sobre as expressões de correspondência porque elas parecem um substituto superior que você deseja usar.

Tipos de União

Tipos são uma parte fundamental do PHP, atribuindo uma variável como um inteiro, booleano, nulo e assim por diante. Mas antes você só podia atribuir uma variável com um único tipo. Agora, eles podem ser atribuídos a dois ou mais tipos: um tipo de união!

Por exemplo, você pode atribuir um tipo inteiro e um tipo flutuante, e ele pode usar qualquer um deles. Estes são especificados com uma linha entre cada tipo, por exemplo: int|float.

A única coisa que você não pode fazer é combinar voide outro tipo. Eles são mutuamente exclusivos. E os tipos duplicados ou redundantes (como int|int) também não são permitidos.

Você poderia usar anotações PHPDoc anteriormente para fazer algo como um tipo de união funcional, mas agora você pode pular as difíceis soluções alternativas e apenas atribuir variáveis ​​com vários tipos.

Retorno estático e tipos mistos

Aqui está um pequeno: Returns em PHP são usados ​​para retornar o valor de uma função. Mas antes, usar o tipo estático não era uma opção. selfparenteram tipos de retorno válidos, mas não static. Graças ao PHP 8, esse problema foi resolvido. Não é um caso de uso comum, mas quando surgir, você ficará feliz em tê-lo.

Há também o novo tipo misto, ou mais precisamente pseudo-tipo, uma vez que representa todos os outros tipos que existem no PHP. Você o usa ao lidar com uma situação em que precisa trabalhar com vários tipos diferentes. Mixed agora também é o padrão assumido quando você não especifica um tipo.

Muitas vezes é melhor usar o novo tipo de união em vez de misto, pois você provavelmente deseja ser mais específico, mas este ainda pode ser útil.

Nenhum deles é tão grande quanto o tipo sindical, mas eles fazem a diferença.

Novas Funções

O PHP 8 vem com várias novas funções para trabalhar.

  • str_starts_with and str_ends_with – Verifica se uma string começa ou termina com uma determinada linha.
  • str_contains – Uso semelhante, mas verifica uma string inteira.
  • fdiv – Permite divisão que reage consistentemente ao dividir por zero.
  • get_resource_id – Agora é fácil obter o ID de um recurso, como uma conexão de banco de dados.
  • get_debug_type– Atua de forma muito semelhante gettype, mas retorna mais informações, como o nome da classe.
  • preg_last_error_msg – Ao trabalhar com funções PHP antigas que exigem que você verifique manualmente se há erros, isso retorna uma mensagem de erro legível.

Argumentos Nomeados

Alguns adoram, alguns odeiam, mas os argumentos nomeados agora estão no PHP 8. Os argumentos permitem que você passe dados para uma função, mas os argumentos nomeados permitem que você faça isso passando o nome do argumento ao invés da ordem. Você ainda pode combiná-los com argumentos ordenados, mas pode pular parâmetros opcionais se desejar.

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

O que isso significa praticamente é um código mais limpo que reduz o número de erros encontrados. Quanto mais conciso for o código, melhor – é mais fácil trabalhar com ele.

Isso pode causar problemas de compatibilidade com versões anteriores e alterar nomes de argumentos, causando interrupções em versões anteriores de um programa, mas para muitos programadores, argumentos nomeados são uma lufada de ar fresco.

Quebrando mudanças

Com o PHP 8, vêm várias mudanças importantes , que podem causar erros durante a atualização ou ao portar de volta para versões anteriores. Dê uma olhada na lista e veja o que pode ser relevante para você; aqui estão alguns dos maiores.

  • Avisos de mecanismo em PHP foram reclassificados para mostrar um nível de gravidade apropriado. (Erros fatais, avisos, avisos, etc.) Esta é uma pequena alteração de quebra que não afetará a maioria dos projetos.
  • TypeErroragora mostra consistentemente em funções internas; isso tem um impacto maior na compatibilidade com versões anteriores do que você imagina, mas é uma boa mudança.
  • Várias alterações foram feitas nos níveis de relatório de erros que antes eram definidos como silenciosos e ignorados, portanto, novos erros que antes estavam ocultos para você podem aparecer agora.
  • A classificação em PHP é mais estável e confiável. O PHP 7 já fez grandes mudanças na classificação e espera-se que este cause menos danos ao código existente.
  • Nomes com namespace agora são um único token e não podem mais ter espaços em branco dentro deles. O impacto dessa mudança é pequeno e fácil de corrigir.
  • Métodos com um nome correspondente à classe foram interpretados como construtores. Agora você precisa usar o __construct()método.
  • E dezenas de outras pequenas mudanças que raramente poderiam causar problemas.

Em suma, você não deve ter muitos problemas com esta atualização.

Como atualizar sua versão PHP do WordPress

É importante manter sua versão do PHP atualizada. Uma parte surpreendentemente significativa dos usuários do WordPress ainda executa o PHP 5.6 , o que é um grande risco. Mesmo se você estiver no PHP 7.4 e totalmente atualizado, deve estar preparado para atualizar para o PHP 8 quando ele for lançado.

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)

Executar versões antigas do PHP é apenas um risco de segurança. Versões desatualizadas têm falhas de segurança que os hackers podem explorar. A única maneira de consertar essas falhas é manter o PHP atualizado o tempo todo.

A velocidade é outro motivo para atualizar. Com cada atualização do PHP vem funções otimizadas e velocidades mais rápidas. A maior diferença seria entre 5,6 e 7,4, mas você definitivamente verá um aumento de velocidade no PHP 8 .

PHP 8: O que há de novo? (Compilador JIT, Atributos e Outros Recursos)
Fonte: php.net

O último motivo para atualizar: compatibilidade. PHP desatualizado pode facilmente causar problemas, quebrando seu site ou causando outras falhas. Alguns plug-ins ou temas requerem uma versão atualizada do PHP para funcionar, portanto, você deseja mantê-la atualizada.

O PHP 8 ainda não foi lançado, então você não será capaz de atualizar. Você também precisará esperar que o WordPress comece a oferecer suporte à versão mais recente. Mas se você estiver usando uma versão mais antiga do PHP, como o PHP 5.6, deve considerar fazer o salto agora. Existem muitas alterações importantes no PHP 7.xe será mais fácil corrigi-las agora do que dar um salto ainda maior direto para o PHP 8.

Atualizar o PHP geralmente é bastante simples. Tudo o que você precisa fazer é fazer login no cPanel, ou em qualquer painel de administração que seu host esteja usando, encontrar o gerenciador de versões do PHP e selecionar a versão mais recente. Você pode precisar verificar com seu host para ter certeza de que eles suportam a atualização mais recente do PHP. Alguns rodam em softwares mais antigos. Mais detalhes no artigo vinculado.

Preste atenção ao PHP 8

Pode não ser o monstro da atualização que o PHP 7.0-7.4 foi, mas o PHP 8 tem muito a oferecer. Classificar toda essa documentação e descobrir os recursos mais importantes pode ser difícil, portanto, reunimos tudo aqui para você.

Embora possa não ser muito inovador, o PHP 8 tem vários recursos importantes para os quais você vai querer se preparar. O compilador JIT abre novos horizontes para a linguagem. Em uma escala menor, os novos atributos, expressão de correspondência e funções serão muito úteis para muitos desenvolvedores. E, é claro, tipos de união e argumentos nomeados.

Cuidado com as mudanças significativas, mas no geral esta atualização é bastante leve sobre os principais recursos incompatíveis com versões anteriores.

Postado em Blog
Escreva um comentário