PHP 8.5 - Nova versão do PHP já está disponível para todos!

No final de novembro de 2025, foi lançada a nova atualização do PHP, o PHP 8.5. Essa atualização trouxe desde recursos novos até a descontinuação de outros recursos. Essa nova versão está disponível no painel de controle, especificamente no seletor de versão PHP, para todos os nossos clientes, independentemente do seu plano. Por isso, nesse post nós da Hosting Machine vamos falar sobre as novidades dessa versão, para que você já esteja ligado no que virá!

PHP 8.5 – Nova versão do PHP já está disponível para todos!

Visão geral

O PHP 8.5 é a versão mais recente da linguagem PHP, lançada em 20 de novembro de 2025, e representa um avanço importante para desenvolvedores web. Isto é porque essa atualização foca em tornar o código mais simples e eficiente, com novas ferramentas que ajudam a encadear funções de forma clara e manipular URLs com segurança. Desse modo, você não precisa mais de bibliotecas extras.

Para iniciantes, isso significa menos complicações ao criar sites ou aplicações. Já que, recursos como o operador de pipe evitam códigos aninhados e confusos, enquanto funções novas para arrays facilitam tarefas comuns como pegar o primeiro ou último item de uma lista. Além disso, também há melhorias no desempenho e nos diagnósticos de erros, como rastreamentos de pilha que mostram onde algo deu errado, ajudando a corrigir problemas mais rápido.

Essa versão terá um suporte ativo até novembro de 2027. Assim, além de garantir as atualizações de segurança, ela é compatível com frameworks populares como Laravel e WordPress.

Mudanças principais

Entre as principais mudanças principais dessa versão está a introdução do operador de pipe (|>) e a nova extensão URI, que simplificam as tarefas cotidianas. Já que, o operador de pipe te permite encadear funções de forma linear, passando o resultado de uma diretamente para a próxima. Assim, tornando o código mais legível, sendo ideal para todos, mas principalmente para iniciantes. Por exemplo, ao invés de aninhar chamadas como strtoupper(trim($texto)), você pode escrever $texto |> trim() |> strtoupper(). Desse modo, facilitando a compreensão dos fluxos de dados. Enquanto a extensão URI oferece classes para analisar e modificar URLs de acordo com padrões internacionais. Dessa forma, reduzindo erros em manipulações de links e eliminando a necessidade de pacotes externos.

Outra novidade é o suporte a clonagem com atualizações (clone with), que te permite criar cópias de objetos alterando propriedades específicas em uma linha só. Sendo o ideal para trabalhar com dados imutáveis. Além disso, funções como array_first() e array_last() evitam códigos complicados para acessar elementos de arrays, retornando null se o array estiver vazio. Essas novidades visam produtividade, ainda mantendo compatibilidade retroativa, mas emitindo avisos para práticas antigas. Assim, ajudando novatos a aprenderem da maneira certa desde o início.

Por fim, também há os aprimoramentos nos atributos, como #[\NoDiscard], que alerta se um valor de retorno é ignorado. Ademais a isso, o suporte para closures em constantes permite uma lógica mais flexível nas configurações. Desse modo, beneficiando aplicações complexas sem sobrecarregar o usuário.

Novos recursos

Entre os novos recursos dessa versão, o que mais se destaca é o operador de pipe. Já que ele facilita o encadeamento de funções. Imagine que você precisa processar um texto, mas ao invés de usar funções dentro de funções, você usa o pipe para “passar” o valor adiante, como em um cano. Desse modo, ele torna os scripts mais fáceis de ler e editar, principalmente em tarefas como limpeza de dados ou transformações. A extensão URI é também é outra adição importante, isto é porque ela te permite quebrar as URLs em partes (como domínio ou caminho) de forma segura e padrão. Sendo extremamente útil para apps que lidam com links web.

Além disso, também há as funções como array_first() e array_last(), que simplificam o trabalho com listas. Isto é porque elas pegam o primeiro ou último item diretamente, sem precisar de truques para fazer isso, como resetar o array. Enquanto isso, o clone with te permite copiar objetos e mudar valores específicos ao mesmo tempo. Sendo ideal para criar variações sem precisar reescrever tudo novamente. Essa versão também adicionou o suporte para atributos em constantes e closures em expressões, trazendo mais flexibilidade nas configurações sem complicar o código básico.

Também há o IntlListFormatter, que é um recurso para formatar listas conforme o idioma (como adicionar “e” antes do último item em português), e as novas funções para verificar se um locale é da direita para a esquerda, ajudando nas interfaces globais.

banner hospedagem cloud

Segurança

Nessa versão, a segurança vem indiretamente, por meio de recursos que previnem erros comuns. Como por exemplo, a diretiva max_memory_limit define um teto máximo de memória que scripts não podem ultrapassar, mesmo se tentarem alterar configurações. Isso é vital para iniciantes, já que evita que um código malfeito consuma toda a memória do servidor, que pode causa crashes ou brechas em ambientes compartilhados. Além disso, os rastreamentos de pilha em erros fatais mostram o caminho exato do problema, facilitando a identificação de falhas que poderiam expor dados sensíveis.

Enquanto isso, o atributo #[\NoDiscard] te alerta se o retorno de uma função foi ignorado. Dessa forma, o PHP incentiva o uso correto dos resultados, como em validações de entrada que checam senhas ou emails, e reduz bugs onde o código descarta acidentalmente informações importantes. A extensão URI usa bibliotecas confiáveis para parsear URLs, assim, minimizando riscos de injeções ou malformações que hackers exploram nos formulários web.

Ademais a isso, também foram adicionadas funções como get_error_handler(), que te permitem inspecionar manipuladores de erros sem alterá-los, te ajudando a monitorar a segurança em runtime. Ou seja, embora não tenha tido grandes mudanças diretas na criptografia, essas adições promovem práticas seguras desde o início, com avisos para depreciações que removem itens vulneráveis. Embora os especialistas ainda recomendem que os iniciantes testem em ambientes locais para evitar surpresas na produção.

Outras mudanças

Outras mudanças que também estão presentes nessa atualização são as melhorias nas extensões existentes. Como por exemplo o cURL ganhou o curl_multi_get_handles(), que dever ser usado para gerenciar múltiplas requisições de forma mais organizada. Assim, você consegue lidar melhor com downloads paralelos sem demais complicações, sendo uma grande ajuda. O CLI agora também tem php –ini=diff, que te mostra apenas as configurações alteradas. Dessa forma, facilitando as depurações em setups personalizados. Também há as novas constantes, como PHP_BUILD_PROVIDER e PHP_BUILD_DATE que fornecem informações sobre a build, sendo muito úteis para rastrear versões em equipes.

Além disso, a extensão filter pode lançar exceções em validações falhas, ao invés de só retornar falso. Desse modo, essa extensão te permite capturar erros de entrada, como por exemplo e-mails inválidos, de maneira mais fácil e robusta. Essa extensão ajuda os usuários a criarem apps mais resistentes. Atributos expandidos, como #[\Override] nas propriedades e #[\Deprecated] nos traits, promovem códigos mais claros, com validações adiadas via #[\DelayedTargetValidation].

O PHP 8.5 também adicionou visibilidade assimétrica para propriedades estáticas e finais em construtores para otimizar classes, enquanto o suporte a “partitioned” nos cookies alinha-se com a privacidade moderna dos navegadores. Essas alterações não apenas melhoraram seu desempenho geral, com OpCache obrigatório para otimização consistente, elas preparam os usuários para escalas maiores sem grandes curvas de aprendizado.

Recursos descontinuados

Os recursos descontinuados nessa nova versão visam limpar a linguagem PHP de itens obsoletos, também emitindo avisos para preparar migrações. Como por exemplo, o uso do operador de crase (`) é desencorajado enquanto é recomendado o uso do shell_exec() para comandos shell. Já que, além de ser mais explícito, também é mais seguro. Além disso, casts não canônicos como integer disparam alertas, por isso é recomendado usar int para padronização. Assim, evitando possíveis confusões em códigos mistos.

Funções como mysqli_execute() foram trocadas por mysqli_stmt_execute(), promovendo prepared statements, que previnem injeções SQL. No-ops como curl_close() e xml_parser_free() também são desencorajados o seu uso, já que o PHP gerencia recursos automaticamente desde versões anteriores. Enquanto a socket_set_timeout() deu lugar para a stream_set_timeout(), unificando as APIs.

Além disso, as constantes MHASH_* foram removidas por falta de manutenção, no seu lugar sendo sugerida a extensão hash. A diretiva disable_classes foi retirada por conta de instabilidade, e as opções CLI como -z para extensões Zend também foram retiradas. Dessa forma, forçando uso de ini files. Nessa versão, o PHP desencoraja o uso do null como offset de array e recomenda usar strings vazias no lugar. Os __sleep() e __wakeup() também são softwares obsoletos, já que foram substituídos por métodos modernos de serialização.

Esse foi o nosso post sobre o PHP 8.5. Esperamos que esse post tenha te ajudado a entender melhor essa atualização. Além disso, não se preocupe, porque a versão PHP 8.5 já está disponível para todos os nossos clientes! Para você aprender a mudar a versão do seu PHP, dê uma olhada no nosso tutorial.

No entanto, caso ainda tenha alguma dúvida é só entrar em contato com o nosso suporte, seja por chamado ou por WhatsApp.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *