Repolode
nikic

nikic/PHP-Parser

Um parser de PHP escrito em PHP que transforma código-fonte PHP em uma árvore sintática abstrata para análise estática e manipulação de código.

Estrelas
17,470
Forks
1,144
Issues abertas
75
Último commit
anteontem

O que é?

O PHP-Parser analisa código PHP 7 e PHP 8 e o transforma em uma árvore sintática abstrata (AST), com informações de localização associadas a cada nó. Ele também consegue analisar código inválido e gerar uma árvore parcial, o que ajuda ferramentas que precisam trabalhar com código ainda em edição.

Além da análise, a biblioteca oferece um traverser de nós com visitors para ler e modificar a árvore, um pretty printer que converte a AST de volta em código PHP (preservando a formatação original em árvores parcialmente alteradas), resolução de nomes para nomes com namespace e avaliação de expressões constantes. Os builders facilitam a geração de nós da AST para geração de código, e a árvore pode ser serializada para JSON e vice-versa.

A biblioteca é instalada via Composer e serve de base para ferramentas de análise de código, refatoração e geração de código no ecossistema PHP. A versão 5.x funciona com PHP 7.4 ou posterior.

Recursos principais

  • 01Analisa código PHP 7 e PHP 8 e o transforma em uma AST com informações precisas de localização.
  • 02Recupera uma AST parcial a partir de código sintaticamente inválido.
  • 03Converte uma AST de volta em código PHP, preservando a formatação das partes inalteradas.
  • 04Oferece visitors e um traverser para ler e modificar árvores.
  • 05Resolve nomes com namespace e avalia expressões constantes.
  • 06Serializa ASTs para JSON e vice-versa.

Casos de uso

  • Criar ferramentas de análise estática ou lint para bases de código PHP.
  • Escrever scripts de refatoração automatizada que reescrevem arquivos-fonte PHP.
  • Gerar código PHP programaticamente usando builders de AST.
  • Analisar código PHP em busca de problemas de segurança ou de conformidade com padrões de código.

Início rápido

  1. 1

    Instale a biblioteca com o Composer

    php composer.phar require nikic/php-parser
  2. 2

    Analise o código PHP em uma AST e exiba o resultado usando o exemplo de código do README

Antes de usar

  • A versão 5.x requer PHP 7.4 ou posterior. A versão 4.x precisa do PHP 7.0 ou posterior.

Tópicos

Perguntas frequentes

O que é PHP-Parser?
Um parser de PHP escrito em PHP que transforma código-fonte PHP em uma árvore sintática abstrata para análise estática e manipulação de código. O PHP-Parser analisa código PHP 7 e PHP 8 e o transforma em uma árvore sintática abstrata (AST), com informações de localização associadas a cada nó. Ele também consegue analisar código inválido e gerar uma árvore parcial, o que ajuda ferramentas que precisam trabalhar com código ainda em edição.
PHP-Parser é gratuito? Qual é a licença?
PHP-Parser é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
PHP-Parser ainda é mantido?
Manutenção ativa. O último commit de PHP-Parser foi em 5 de nov. de 2026.
Para que posso usar PHP-Parser?
Criar ferramentas de análise estática ou lint para bases de código PHP. Escrever scripts de refatoração automatizada que reescrevem arquivos-fonte PHP. Gerar código PHP programaticamente usando builders de AST. Analisar código PHP em busca de problemas de segurança ou de conformidade com padrões de código.
Como instalar PHP-Parser?
Instale a biblioteca com o Composer: php composer.phar require nikic/php-parser Analise o código PHP em uma AST e exiba o resultado usando o exemplo de código do README
Onde consigo PHP-Parser?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nikic/PHP-Parser

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados