PHP 8.2: O que há de novo?
A nova versão do PHP está quase a chegar. Quais são as novas implementações que deve conhecer? Consulte este artigo para ficar a saber!
Como programador do PHP, ainda me lembro dos dias do PHP4, da primeira implementação (opcional!) do GC no PHP5, e vivi o _hype_ do advento do PHP7 e as suas ramificações.
Ao longo dos anos, muitas pessoas perguntaram-me porque é que me dou ao trabalho programação em PHPe durante muitos anos ouvi, como um mantra, dois argumentos recorrentes para parar e começar a escrever software comercial em linguagens como Java ou C#.
Hoje vou citar esses argumentos e tentar mudar a sua atitude em relação a PHP pelo menos um bocadinho. Sim, o título deste artigo é um clickbait absurdo.

PHP está a morrer ano após ano. A linguagem web outrora mais popular está agora a perder popularidade mês após mês, principalmente para JavaScript.
Quando se olha para os números, a verdade é preocupante! Durante o ano passado, PHP perdeu uns impressionantes 1,6% da sua quota como linguagem de backend da Web.
Se PHP continua esta tendência decrescente, em 18 anos PHP ficará abaixo de 50% da tecnologia Web de backend!

Mas pronto, brincadeiras à parte - embora os números sejam reais conforme relatado por W3CTechs.
A primeira menção que PHP está a morrer pode ser encontrado na Web desde 2013. Na altura, Software Gunslinger publicou um artigo (que, aliás, recomendo vivamente!) dizendo que o PHP vai morrer porque não suporta processos de longa duração e porque lhe falta assincronia.
E isso é um facto, PHP não foi feito para isso!
se tudo o que se tem é um martelo, tudo parece um prego
Mas voltemos aos números - vejamos os dados do ano passado sobre PHP versões utilizadas nos pacotes Packagist. Os dados mais recentes estão disponíveis no sítio da fonte packagist.org

Será esta a curva de adoção de novas versões de uma linguagem de programação em extinção?
Se isso não for suficiente, vamos comparar a nossa "taxa de mortalidade PHP" com outras línguas.
Os dados para a análise são retirados deGitHut 2.0, que gera um gráfico do número de git push por língua para o Github desde 2012, de acordo com o esquema - "A distribuição percentual das línguas no gráfico de linhas mostra as 10 principais línguas (ou selecionadas manualmente) desde 2012/Q2".

Como se pode ver PHP bem como outras línguas populares, tais como Rubi, C/C++, Python registaram uma queda significativa de popularidade no Github nos últimos anos, mas existe uma tendência ascendente e esperamos que regressem a posições elevadas após um período lateral mais longo. (isto não é um conselho de investimento)
O primeiro propaganda para a linguagem Javascript pode ser visto no mesmo gráfico. Deixo as conclusões e a sua análise para si, caro leitor.

Mas, por outro lado, uma língua em vias de extinção não deveria aumentar o número de ofertas de emprego para programadores, certo?

No momento em que escrevo este artigo, posso escolher entre 171 ofertas de emprego num dos principais portais de emprego de Polóniados quais 50 para os juniores. PHP está a morrer, certo?

E por falar em dinheiro... sabia que PHP e a sua origem código é mantido desde novembro de 2021 pelo Código aberto independente comunidadeA Fundação PHP que paga um montante substancial aos programadores OpenSource para contribuições para php-src?
Ao contrário de outras linguagens e estruturas, que são frequentemente propriedade de grandes empresas, o núcleo de desenvolvimento equipa é pago diretamente a partir da conta da fundação, que é gerida por contribuições de empresas privadas como a JetBrains e a Symfony Corp, mas também porpequenas contribuições de desenvolvedores individuais.
O código aberto em toda a sua glória!
Sim, este argumento vem sempre da boca de programadores que se familiarizaram com linguagens comparáveis e fortemente tipadas.
Observando o gráfico dos dados recolhidos durante oInquérito StackOverflow de 2021, pode ver-se que 10 834 inquiridos, representando quase 60% do total, consideraram o PHP "terrível".

Como um antigo Programador PHPCompreendo porque é que isto acontece. Lembro-me imediatamente de um exemplo clássico de problemas de memória em PHP:
<?php
classe FOO {
public $f;
}
class BAR {
public $f;
}
while(1) {
$a = new FOO();
$b = nova BAR();
$a->f = $b;
$b->f = $a;
print "Utilização de memória: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Para os não iniciados - sim, o código acima causa um erro de memória. E tem mais. Desde a nomeação idiota dos métodos e a completa falta de lógica na ordem dos seus parâmetros (sim, todos nós adoramos str_ e matriz_) para o erro mais famoso do PHP T_PAAMAYIM_NEKUDOTAYIM - O PHP está cheio de peculiaridades e vícios das versões antigas. Isto não significa que aquilo de que ouvimos falar PHP há alguns anos atrás, continua a ser verdade. A linguagem sofreu uma enorme metamorfose e hoje tenho o prazer de olhar para as minhas definições de objectos:
readonly class NotificationEvent
{
public function __construct(
public string $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
Para além disso, o Ecossistema PHP cresceu tremendamente, e agora temos oportunidades incríveis para criar código bom, altamente tipado e bem testado. Podemos usar Symfony para desenvolver aplicações DDD sem problemas de maior, e podemos contornar o problema da sincronização do PHP utilizando o Message Bus.
E embora eu próprio não ache que PHP é adequado para a criação de processos de backend de longa duração e tem enormes problemas de desempenho quando se trata de sincronização de estado, eu tambémcriou um jogo de consola PHP utilizando Symfony + Docker com as minhas próprias mãos como exemplo de que o PHP ainda pode ter utilizações não convencionais.
Outro vantagem do PHP é a sua baixa barreira de entrada para os novos programadores. As documentações de duas estruturas populares Symfony eLaravel e PHP A própria documentação é suficiente para entrar no mundo do backend com a sua ajuda. Um mundo que não é perfeito no PHP mas que permite muita coisa. Usando bibliotecas adicionais como Laravel Nova, podemos criar quase todos os componentes do nosso sistema com apenas dois comandos.
É PHP a morrer?
Não, mas tem um problema de imagem e precisa de muito trabalho para o melhorar. Nós, os programadores, temos de fazer esse trabalho, ensinando a nova geração e transmitindo as melhores práticas sob a forma de artigos, bibliotecas e dicas.
Como uma língua que tem estado no mercado durante vinte anos, que já sobreviveu a mais de uma propaganda (lembram-se do Objective-C?) Penso que vai aguentar e encontrar o seu nicho.
E quem sabe, talvez as minhas previsões se revelem corretas e o PHP 10.x volte a crescer dentro de dois anos?
