Pergunta

Eu estou procurando um utilitário semelhante para gprof que irá gerar uma chamada gráfico para PHP código. Eu prefiro algo que pode produzir saída gráfica, ou na saída de texto mínimo que pode ser interpretado por GraphViz ou similar, mas eu vou resolver para a saída de texto simples.

Alguém sabe de qualquer ferramenta que pode fazer isso?

Foi útil?

Solução

Gostaria definitivamente tentar Doxygen . Tem suporte para PHP, e os gráficos de chamadas e gráficos de chamadas que ele cria têm sido muito útil para explorar "código estrangeiro" para mim anteriormente.

Exemplo de gráfico de chamadas doxygen

Outras dicas

Não tenho certeza existe alguma coisa que pode analisar o código-fonte escrito em PHP para gerar esse ... Mas há uma possibilidade, quando você está executando o código.

Você pode querer dar uma olhada na Xdebug extensão: traz profiling para PHP, e e gerar callgrind-como arquivos, que podem ser lidos com kcachegrind no Linux.

E este é capaz de gerar algum tipo de callgraphs.


Ele também pode ser integrado com o PHPUnit, para gerar código-cobertura ao executar unidade-testes
Algum tempo atrás, PHPUnit foi capaz de gerar alguns callgraphs com graphviz; Eu não acho que a opção mais, porém: - (


EDIT: é a primeira vez que eu ouvi sobre isso, mas há um projeto chamado phpCallGraph que o poder ser capaz de ajudá-lo, também ... e parece que há trabalho em curso, se eu olhar para ele de changelog

Como já observado, Doxygen pode gerar gráficos de chamada.

Xdebug pode gerar vestígios de função . Estes diferem dos gráficos do doxygen na medida em que são gerados a partir do código de tempo de execução, enquanto doxygen é gerada estaticamente. Eu não sei de todas as ferramentas que podem transformar os traços de função em uma representação visual, embora não deva ser tão difícil de fazer.

Há também a bytekit extensão, cuja função principal é mostrar o bytecode que a vontade código fonte php gerar. Ele pode mostrar isso em um gráfico, que é essencialmente um callgraph.

Este é um tópico antigo - mas em alguém encontrar casos útil ....

  • kKCachegrind irá produzir callgraphs mostrado as threads de execução real.

  • PHPCallGraph é um bastante simples graphviz em torno do qual perfroms análise estática

  • Há também minha própria esforço que é semelhante ao PHPCallGraph mas acrescenta informações sobre Loops / estruturas condicionais e fornece um método para a adição de chamadas de retorno para nós. Alguns scripts de exemplo são empacotados com o kit de ferramentas -. Mas você também pode incorporá-lo em seus próprios scripts

Se você precisar de algo interativo, confira a nova nWire para PHP . É um plugin do Eclipse, que funciona com qualquer PDT 2.1 e Zend Studio 7.0.

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