문제

나는 GPROF와 유사한 유틸리티를 찾고 있습니다. 그래프를 호출하십시오 PHP 코드의 경우. 그래픽 출력을 생성 할 수있는 것을 선호하거나 GraphViz 또는 이와 유사하게 해석 할 수있는 최소한 텍스트 출력을 선호하지만 일반 텍스트 출력을 위해 정착하겠습니다.

이 작업을 수행 할 수있는 도구를 아는 사람이 있습니까?

도움이 되었습니까?

해결책

나는 확실히 시도 할 것이다 독사. 그것은 PHP를 지원하고 있으며, 생성 된 통화 그래프 및 발신자 그래프는 이전에 "외국 코드"를 탐색하는 데 매우 유용했습니다.

Example of doxygen call graph

다른 팁

PHP로 작성된 소스 코드를 분석하여이를 생성 할 수있는 소스 코드를 분석 할 수있는 것은 확실하지 않지만 코드를 실행할 때 가능성이 있습니다.

당신은 그것을보고 싶을 것입니다 xdebug 확장 : 가져옵니다 프로파일 링 PHP에, 그리고 콜 그라인드와 같은 파일을 생성하여 읽을 수 있습니다. Kcachegrind Linux에서.

그리고 이것은 일종의 콜 그라프를 생성 할 수 있습니다.


PHPUNIT와 통합하여 생성 할 수 있습니다. 코드 커버 단위 테스트를 실행할 때
얼마 전, PhPunit은 GraphViz로 일부 콜 그래프를 생성 할 수있었습니다. 그래도 더 이상 그 옵션을 찾지 못합니다 :-(


편집 : 내가 처음 들었던 것은 이번이 처음이지만 phpcallgraph 그것은 당신도 당신을 도울 수 있을지도 모른다 ... 그리고 내가 그것을 보면 일이 일어나고있는 것 같다. 변경 로그

이미 언급했듯이 Doxygen은 통화 그래프를 생성 할 수 있습니다.

Xdebug가 생성 할 수 있습니다 기능 추적. 이들은 런타임 코드에서 생성 된 반면 Doxygen은 정적으로 생성된다는 점에서 Doxygen의 그래프와 다릅니다. 기능 추적을 시각적 표현으로 바꿀 수있는 도구는 모르지만 그렇게하기 어렵지는 않아도됩니다.

또한 있습니다 바이 테키 PHP 소스 코드가 생성 될 바이트 코드를 표시하는 기본 기능은 확장자입니다. 이것을 그래프로 표시 할 수 있습니다. 즉, 본질적으로 콜 그래프입니다.

이것은 오래된 주제이지만 누구나 유용하다고 생각하는 경우 ....

  • Kkcachegrind는 실제 실행 스레드를 보여주는 콜 그래프를 생성합니다.

  • phpcallgraph 정적 분석을 수행하는 GraphViz 주변에서 상당히 간단합니다.

  • 또한 있습니다 내 자신의 노력 이는 phpcallgraph와 유사하지만 루프/조건부 구조에 대한 정보를 추가하고 노드에 콜백을 추가하는 방법을 제공합니다. 일부 예제 스크립트에는 툴킷이 묶여 있지만 자체 스크립트에 포함시킬 수도 있습니다.

대화식이 필요한 경우 새로운 것을 확인하십시오. PHP 용 Nwire. PDT 2.1 및 Zend Studio 7.0에서 작동하는 Eclipse 플러그인입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top