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
https://core.trac.wordpress.org/ticket/57345
PHP 7.0 em 2,68%
PHP 7.1 em 1,82%
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 PHP | Fim do suporte pelo WP | |
---|---|---|
PHP 5.2 | 01/2011 | 05/2019 (WP 5.2) |
PHP 5.6 | 12/2018 | ??/2023 (WP 6.2) |
PHP 7.2 | 11/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!