O que há de novo no PHP 8.5: Pipe operator, URI nativa e outras grandes mudanças
- #PHP
O PHP 8.5 chegou trazendo atualizações que realmente impactam o trabalho diário de quem desenvolve backend. Não são mudanças “cosméticas”; são melhorias que deixam o código mais expressivo, mais limpo e mais preparado para lidar com projetos modernos. Neste artigo eu comento as principais novidades de forma direta, com exemplos práticos e explicando tudo como eu gosto: simples, objetivo e sem enrolação.
Pipe Operator (|>) — finalmente um fluxo mais limpo
O pipe operator é uma das novidades mais comentadas, e com razão. Ele permite encadear operações sem criar uma pilha de variáveis ou chamadas aninhadas. É como passar o valor adiante de forma clara, etapa por etapa, deixando o código mais legível.
Antes do pipe:
$texto = trim($input);
$texto = strtolower($texto);
$texto = ucfirst($texto);
Com pipe (|>):
$result = $input
|> trim(.)
|> strtolower(.)
|> ucfirst(.);
O objetivo é deixar claro o fluxo de transformação, e isso parece funcionar bem, porém é o dia a dia que vai responder.
Nova extensão URI — manipulação de URLs do jeito certo
Outra melhoria importante é a nova extensão URI, que traz uma API
$uri = URI\parse('https://example.com/test?foo=1');
echo $uri->path; // /test
Isso resolve vários problemas comuns e evita implementações improvisadas.
Clone with — clonar objetos com alterações
nativa para trabalhar com URLs sem reinventar a roda. Antes, era normal depender de funções dispersas ou parsing manual. Agora, temos um modelo consistente e direto.
Exemplo:
Quando você precisa clonar um objeto mudando apenas um atributo, o PHP 8.5 simplifica isso com o novo clone with.
Ele mantém o objeto original intacto e cria uma cópia alterada sem precisar lidar com __clone() ou reatribuições manuais.
Exemplo:
$user1 = new User(name: "Ana", age: 25);
$user2 = clone $user1 with { age: 30 };.
Atributo #[NoDiscard] — evitando ignorar retornos importantes
Esse atributo serve para alertar quando você chama uma função e ignora o retorno dela — em situações onde isso provavelmente não deveria acontecer. É uma ferramenta de qualidade de código e ajuda a evitar erros silenciosos.
Exemplo:
#[\NoDiscard]
function calcular() { return 20; }
calcular(); // Warning: valor ignorado
Simples, útil e alinhado com boas práticas.
Funções first() e last() — pegando elementos de arrays de forma elegante
Mais uma adição simples e prática: as novas funções first() e last().
São perfeitas para aqueles momentos em que você só quer pegar o primeiro ou último item sem pensar demais.
Exemplo:
$arr = [10, 20, 30];
echo first($arr); // 10
echo last($arr); // 30
Performance — melhoras internas que você sente mas não vê
O PHP 8.5 também traz uma série de otimizações internas. Não são features visíveis, mas melhoram a engine, o uso de strings, arrays e outras áreas do core.
Esse tipo de melhoria é especialmente perceptível em sistemas maiores ou com tráfego intenso, porem é aquela melhoria que você até pensa se já não existia pois é algo simples que chega só agora.
Chamadas assíncronas no PHP 8.5 — e por que não existem
É importante reforçar que PHP 8.5 NÃO adiciona async/await e não traz chamadas assíncronas nativas.
Isso é explicado claramente no conteúdo oficial: o PHP ainda segue um modelo de execução síncrono, focado em requisições curtas, simples e previsíveis.
Quem precisa trabalhar com async precisa recorrer a ferramentas como Swoole, ReactPHP ou Fibers — mas nada disso faz parte do core da linguagem.
Confeso que era a implementação que mais esperava, mas veremos nas proximas versões.
Conclusão
O PHP 8.5 não tenta reinventar a roda — ele melhora alguns pontos da roda.
São mudanças que deixam o código mais claro, ajudam na padronização, reduzem duplicação e tornam a linguagem mais moderna sem quebrar sua essência.
O pipe operator e a extensão URI foram, pessoalmente, os pontos mais interessantes, pois resolvem necessidades reais do dia a dia.
É uma atualização sólida, madura e que mostra como o PHP continua evoluindo para se manter competitivo no ecossistema atual.
Se quiser trocar ideia sobre PHP ou qualquer linguagem de backend, me siga no LinkedIn:
👉 https://www.linkedin.com/in/clayton-freitas-7625bb97/
Referências
Este artigo foi baseado no excelente trabalho de Nuno Guerra, que produziu um conteúdo detalhado sobre as novidades do PHP 8.5.
Você pode acompanhar o trabalho dele no LinkedIn:
👉 https://www.linkedin.com/in/nunoguerra360/
E também no artigo original publicado em seu site:
➡️ nunoguerra.com/dev/php



