A partir de um código PHP Diff, você pode dizer que classes e funções mudaram?

StackOverflow https://stackoverflow.com/questions/806045

  •  03-07-2019
  •  | 
  •  

Pergunta

Fundo:

PHPDoc ( http://www.phpdoc.org/ ) é uma ferramenta brilhante para extrair documentação html de suas classes ou métodos de comentários no seu arquivos. Adicionando comentários PHPDoc também tem outras vantagens - se você usar um IDE como o Zend ou Netbeans, ele usará as PHPDocs para mostrar-lhe dicas de completação automática.

A maioria dos rastreadores de problemas têm uma característica onde você pode cometer em sua sistema de controle de versão com um comentário especial, e vai automaticamente link que se comprometer com essa questão.

Então aqui está o que eu quero em um sistema: eu cometer algum código com um especial comentário, meu issue tracker liga com um problema. Em seguida, ele olha para o comprometer e trabalha para fora o que métodos e classes I mudaram. Isso então diz: "Se você está à procura de documentação contornar esse problema, tente estes pedaços de PHPDoc: ClassX.FunctionY, ClassZ.VariableP-lo". aponta automaticamente os usuários para a documentação que podem ser relevantes. Eu acho que isso seria um ótimo recurso.

Pergunta:

Assim, a peça que está faltando é algo a ter um código diff PHP, e descobrir o que classes e métodos mudaram. Alguém tem alguma ponteiros em algum código que pode fazer isso?

Agradecemos antecipadamente, James

Foi útil?

Solução 3

http://uk3.php.net/reflection

PHP5 tem métodos para tomar uma classe à parte e examinar todos os métodos, incluindo dando-me os números das linhas que eu preciso para o jogo contra o diff. Usando isso eu posso começar a rolar lado a minha própria solução.

Outras dicas

Se você estiver usando subversão , você pode ver uma comparação de todos os arquivos que foram alterados no projeto. E ver como eles são diferentes.

Existem software com suporte subversão integrada, como Trac.

Aqui está uma foto de TracDiff

Você precisa de uma ferramenta que compreende a estrutura de PHP profundamente, isto é, pode analisar o texto de origem PHP assim como o motor de PHP faz.

O "Smart Diff" faz isso, permitindo um comparar pares de arquivos PHP que você sabe é a versão original e alterado. Ele compara ASTs e encontra as edições mínimas para mapear uma em outra. Se os antigos e novos métodos são em tudo semelhantes, ele vai descobrir isso e dizer-lhe como um foi editado para obter o outro. Consulte http://www.semdesigns.com/Products/SmartDifferencer/index.html

Você pode escrever um post cometer script que recebe os arquivos modificados e olha para eles para fazer o que quiser

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top