Desminificar código PHP

Está com PHP espremido em uma única linha? Esta página o expande de novo em instruções separadas, com chaves em linhas próprias e cada bloco indentado. Os nomes de variáveis não são restaurados e os comentários removidos se perdem de vez, mas a estrutura fica fácil de acompanhar.

Como desminificar PHP

  1. 1

    Cole o código de uma linha

    Copie o PHP compactado para a caixa de código PHP.

  2. 2

    Escolha a indentação

    Selecione 2 ou 4 espaços. Quatro espaços é mais fácil de percorrer com aninhamentos profundos.

  3. 3

    Continue para o resultado

    O código expandido aparece na página seguinte.

  4. 4

    Confira e copie

    Leia tudo e depois copie para o seu editor.

O que a desminificação pode e não pode fazer

Minificadores removem espaços em branco e comentários, e alguns também encurtam nomes. Expandir o layout é a parte fácil: uma instrução termina em um ponto e vírgula e um bloco começa e termina em uma chave. Esta ferramenta usa exatamente esses marcadores. Ela não consegue trazer de volta comentários removidos, nomes originais de variáveis nem escolhas de formatação originais.

Exemplo

Entrada compactada:

<?php if($age>=18){echo "adult";}else{echo "minor";}

Resultado expandido:

<?php if($age>=18)
{
    echo "adult";
}
else
{
    echo "minor";
}

A ferramenta também adiciona um espaço após cada vírgula, então ["red","green"] vira ["red", "green"]. Isso vale para as vírgulas do código, não apenas as que separam argumentos.

Limites para ter em mente

  • Strings que contêm vírgulas, como "a,b", também recebem um espaço depois da vírgula, porque essa regra roda sobre todo o texto antes de o código ser lido. Verifique os literais de texto depois.
  • Um ponto e vírgula ou uma chave dentro de um comentário é tratado como código e inicia uma nova linha ali.
  • O espaçamento em torno de operadores permanece como estava. Se o código-fonte compactado escrevia $a+$b, o resultado também escreve.
  • Código ofuscado que usa strings codificadas ou payloads avaliados continua ilegível mesmo com o layout bem organizado. Trate código desconhecido com cuidado e nunca o execute apenas para ver o que ele faz.

Como ler o resultado

Comece pelas chaves mais externas, que agora estão na borda esquerda, e avance para dentro. Os cabeçalhos de funções e classes mostram o que o código define, e as linhas indentadas abaixo mostram o que cada parte faz. Longas sequências de instruções que estavam juntas agora ocupam uma linha cada, então você consegue acompanhar a ordem em que as coisas acontecem.

Dicas para trabalhar com código compactado

  • Formate primeiro e depois leia. Não edite o texto compactado diretamente.
  • Guarde o arquivo original. O layout expandido serve para leitura, e o formatador do seu editor pode estilizá-lo depois.
  • Se um arquivo tiver várias funções de primeiro nível, cole-as juntas. Cada uma termina na sua chave de fechamento, o que deixa os limites bem visíveis.

Compare com o original

Se você ainda tiver o arquivo minificado, procure algumas strings incomuns e confirme que elas aparecem no texto expandido. É uma forma rápida de verificar que nada se perdeu, e vale a pena fazer isso antes de copiar o resultado para algum lugar importante.

Perguntas frequentes

Não. Nomes encurtados por um minificador se perdem. Apenas o layout é reconstruído.

Não. Depois que os comentários são removidos do código-fonte, não há o que restaurar.

Deveria, para código simples, já que apenas os espaços em branco mudam. O espaçamento de vírgulas dentro de literais de string é a principal exceção, então verifique as strings.

Não. Ele apenas altera o layout. Payloads codificados ou empacotados continuam como estão.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas

Guias e casos de uso