PHP 7.2 será requisito mínimo para WP 6.2?

Sim, isso é real! Parece que a partir do WordPress 6.2 a versão mínima do PHP será 7.2. A última alteração nesse requisito mínimo foi feita em maio de 2019, no WordPress 5.2.

A atualização não havia acontecido antes porque a equipe estipulou 5% como limite máximo de uso de uma versão. Segundo este ticket, o uso do PHP 5.6 finalmente diminuiu para além desse número. Como o PHP não possui versão 6 e o uso de PHP 7.0 e 7.1 é ainda mais baixo, a versão mínima seria atualizada para 7.2. Os números também estão disponíveis no site do WordPress.org.

Em 17 de dezembro de 2022:

PHP 5.6 em 4,99% de todos os sites WP
PHP 7.0 em 2,68%
PHP 7.1 em 1,82%

https://core.trac.wordpress.org/ticket/57345

WordPress e a linha do tempo do PHP

Para aumentar a retrocompatibilidade, o WordPress adota uma política bastante restritiva quanto às atualizações de versão do PHP. O PHP 5.2, por exemplo, teve sua última versão lançada em janeiro de 2011, mas só deixou de receber suporte pelo core do WP em 2019.

O PHP 5.6 teve seu ciclo encerrado em dezembro de 2018 e hoje, 4 anos depois, ainda é o requisito mínimo do WordPress. Se a atualização de versão mínima acontecer de fato, ainda estaremos para trás: o PHP 7.2 teve sua última versão lançada em novembro de 2020, ou seja, há dois anos.

A título de curiosidade, enquanto escrevo este post a versão mais antiga ainda recebendo atualizações é o PHP 8.0, com última atualização de segurança prevista para novembro de 2023. A versão mais recente, 8.2, foi lançada este mês e receberá atualizações de segurança até dezembro de 2025.

Fim do suporte pelo PHPFim do suporte pelo WP
PHP 5.201/201105/2019 (WP 5.2)
PHP 5.612/2018??/2023 (WP 6.2)
PHP 7.211/2020
PHP 8.0 (versão atual)11/2023

O que a versão do PHP muda para o WordPress

Além de melhorias na segurança e velocidade, a alteração da versão do PHP possibilita também o uso de vários novos recursos, modernizando a base de código e diminuindo possibilidades de bugs.

Você pode ver a lista completa de recursos que estariam disponíveis para o desenvolvimento do core nestes três links: PHP 7.0, PHP 7.1 e PHP 7.2. Seguem abaixo alguns exemplos do que ganhamos só de incluir o PHP 7.0 na lista de versões com suporte:

Declarações de tipo de retorno

A partir do PHP 7.0 é possível declarar o tipo retornado por uma função ou método:

function exemplo( array ...$arrays ): array {}

Embora isso seja prática comum em outras linguagens, declarações de tipo (tanto em parâmetros quanto no retorno) pode ser novidade para alguns.

A grande vantagem com esse recurso é a análise estática do código: mesmo sem executá-lo é possível identificar se uma outra função chamando exemplo() espera ou não receber um array. Se for o caso, o erro pode ser detectado e resolvido antes de executar qualquer outro teste.

A maioria das IDEs inclusive já fazem essa verificação automaticamente hoje em dia.

Operador de coalescência nula (??)

Ao invés de escrever

$username = isset( $_GET['user'] ) ? $_GET['user'] : 'nobody';

é possível escrever a versão simplificada

$username = $_GET['user'] ?? 'nobody';

Operador “nave espacial” (spaceship) (<=>)

Muito usado em funções comparativas, esse operador retorna -1, 0 ou 1 dependendo do resultado da comparação.

echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

Suporte ao PHP 8

Manter suporte para uma faixa tão grande de versões dificulta a modernização. A compatibilidade com PHP 8 (8.0, 8.1 e 8.2) ainda está no estágio Beta. Será que deixar de oferecer suporte ao PHP 5.6 dará a equipe o fôlego necessário para oferecer suporte às versões mais novas do PHP? Tomara!

E você, já atualizou a versão do PHP do seu site?

Felipe Elia

Associate Director of Platform Engineering na 10up, WordPress Core Contributor, Global Polyglots Mentor na comunidade internacional do WordPress e Locale Manager na comunidade WordPress Brasil.