Formatador PHP
Formatador PHP online gratuito. Formate e embeleze código PHP com destaque de sintaxe. Perfeito para desenvolvedores PHP.
Formatador PHP - Formatar PHP Online
Ferramenta de formatador PHP online que ajuda você a formatar e embelezar código PHP.
Que padrão de estilo este formatador PHP segue?
Código PHP moderno costuma seguir o PSR-12 (Extended Coding Style) publicado pelo grupo PHP-FIG, que estende os antigos PSR-1 e PSR-2. O PSR-12 exige indentação de 4 espaços (sem tabs), chave de abertura na mesma linha para funções e classes, uma linha em branco após declaração de namespace e use, e palavras-chave de visibilidade em todas as propriedades e métodos. Formatadores populares como PHP_CodeSniffer com o padrão PSR12 e PHP-CS-Fixer com o ruleset @PSR12 aplicam essas regras. O PER Coding Style (Per-CS 2.0, 2023) é a última evolução reconhecida pelo Composer e por grandes frameworks como Laravel e Symfony, substituindo o PSR-12 daqui em diante.
Por que meu arquivo PHP falha na validação PSR-12?
Violações comuns do PSR-12 incluem: tabs em vez de espaços para indentação, chave de abertura na mesma linha de métodos (deve ir na seguinte para métodos/funções, mas na mesma para estruturas de controle), falta de visibilidade em propriedades de classe (public/protected/private), espaços ao final, falta de nova linha no final do arquivo ou tag `<?php` seguida imediatamente de código sem linha em branco. Execute `phpcs --standard=PSR12 arquivo.php` ou `php-cs-fixer fix --rules=@PSR12 arquivo.php` para ver violações exatas e autocorrigir a formatação. Ambas as ferramentas integram com VSCode, PhpStorm e pipelines CI via scripts do composer.
Como a minificação de PHP difere da minificação de JavaScript?
A minificação PHP remove principalmente espaços, comentários e formatação desnecessária, já que o código roda no servidor e os clientes nunca o veem. A minificação JavaScript adicionalmente renomeia variáveis, faz hoisting de declarações e aplica transformações AST agressivas porque o código vai para o navegador e cada byte importa. Para PHP, o OPcache compila bytecode automaticamente, então minificar a fonte quase não traz benefício em tempo de execução. Use minificação apenas para ofuscar bibliotecas distribuídas ou reduzir espaço em disco. Ferramentas como PHP Beautifier e Pretty Print revertem o processo para depuração. RFC 7159 (JSON) e PSR-12 (PHP) recomendam explicitamente manter o código formatado para legibilidade humana.
Qual a diferença entre tags curtas e longas no PHP?
Tags longas `<?php ... ?>` são a forma canônica exigida pelo PSR-1. Tags curtas `<? ... ?>` e echo curto `<?= ... ?>` dependem da diretiva `short_open_tag` no php.ini. O PHP 5.4+ sempre habilita `<?=` independentemente da diretiva, então é seguro usar. Tags curtas `<?` são desencorajadas porque conflitam com declarações XML (`<?xml ... ?>`) e quebram a portabilidade do código. O PSR-1 recomenda apenas `<?php` para arquivos de código e `<?=` para templates. A tag de fechamento `?>` é oficialmente recomendada a ser omitida em arquivos PHP puros para evitar saída acidental de espaços antes dos cabeçalhos HTTP.

Como devo tratar comprimento de linha e quebra no PHP?
O PSR-12 especifica um limite mole de 120 caracteres e um duro de 80 para telas estreitas — embora a maioria das bases modernas use 120. Chamadas longas de métodos devem quebrar antes do operador ponto/seta, com cada chamada encadeada na própria linha alinhada ao receptor. Assinaturas de função com muitos parâmetros usam um parâmetro por linha, com o parêntese de abertura no final da linha do nome da função e o de fechamento em sua própria linha alinhado com a palavra-chave `function`. Regras como `method_argument_space` e `line_length_limit` do php-cs-fixer automatizam isso. Evite quebras forçadas no meio de expressões que prejudicam a leitura.
Qual a diferença entre formatar e refatorar?
Formatar altera apenas espaços, indentação e estilo de aspas — a AST (árvore de sintaxe abstrata) permanece idêntica, então o comportamento não muda. Refatorar reestrutura o código para renomear, extrair métodos, fundir classes ou aplicar padrões de projeto; tanto a AST quanto o comportamento em execução podem mudar. Ferramentas como PHP-CS-Fixer (formatador), Rector (refatorador), PHPStan (análise estática) e Psalm (verificação de tipos) cobrem estágios diferentes. Sempre rode formatadores em CI para manter estilo consistente; reserve refatorações para revisão humana deliberada com cobertura de testes completa. Misturá-las em um único commit dificulta enormemente a revisão.
Como formato strings heredoc e nowdoc corretamente?
Heredoc (`<<<EOT ... EOT`) e nowdoc (`<<<'EOT' ... EOT`) são sintaxes de string multilinha introduzidas no PHP 5.3+ e aprimoradas no PHP 7.3 com marcadores de fechamento flexíveis e suporte a indentação. O PSR-12 exige o identificador de fechamento em linha própria, indentado para coincidir com o código ao redor (recurso do PHP 7.3+). Exemplo: `$sql = <<<SQL\n SELECT * FROM users\n SQL;` — a indentação do `SQL;` é removida de cada linha de conteúdo. Heredoc interpola variáveis como strings entre aspas duplas; nowdoc não. Use nowdoc para SQL, regex ou qualquer string com `$` para evitar bugs de interpolação indesejada.
Devo usar namespaces e como interagem com formatação?
Sim — o autoload PSR-4 exige que classes com namespace mapeiem para caminhos de arquivo e código PHP moderno é insustentável sem namespaces. A declaração de namespace deve ser a primeira instrução depois de `<?php`, seguida por declarações `use` (agrupadas ou individuais) e depois definições de classe/função/constante. O PSR-12 exige uma linha em branco entre cada bloco: namespace, use, definição. Ordene declarações use: classes primeiro, depois funções (com `use function`), depois constantes (`use const`), cada grupo em ordem alfabética. Regras como `ordered_imports` no php-cs-fixer impõem isso. Use sempre namespaces completos — `\App\Models\User` — nas importações para clareza.
Recursos Principais
- Formatar PHP com indentação personalizável
- Destaque de sintaxe
- Processamento seguro no navegador
