Frage

Ich bin auf der Suche nach einem Dienstprogramm ähnlich wie gprof dass eine Aufrufgraphen für PHP Code. Ich würde lieber etwas, die grafische Ausgabe erzeugen kann, oder zumindest die Textausgabe, die von GraphViz oder ähnlich interpretiert werden kann, aber ich werde für Klartextausgabe absetzen.

Kennt jemand irgendein Werkzeug, das dies tun kann?

War es hilfreich?

Lösung

Ich würde auf jeden Fall versuchen, Doxygen . Es hat Unterstützung für PHP, und die Anruf Grafiken und Anrufer Graphen es zuvor in der Erforschung „fremden Code“ für mich sehr nützlich gewesen erstellt.

Beispiel für doxygen Aufrufgraphen

Andere Tipps

Nicht sicher gibt es irgendetwas, das Source-Code geschrieben in PHP analysieren kann, dass generieren ... Aber es gibt eine Möglichkeit, wenn Sie den Code ausgeführt wird.

Sie können einen Blick auf die Xdebug Erweiterung nehmen wollen: es bringt Profilierung PHP, und und erzeugen Callgrind-ähnliche Dateien, die mit KCacheGrind auf Linux.

Und dieser ist in der Lage, eine Art von callgraphs zu erzeugen.


Es kann auch mit PHPUnit integriert werden, phpCallGraph das könnte Lage sein, Ihnen auch zu helfen ... und es scheint, dass es Arbeit los ist, wenn ich es Changelog

Wie bereits erwähnt, kann Doxygen Anruf Graphen erzeugen.

Xdebug kann generieren Funktion verfolgt . Diese unterscheiden sich von doxygen des Graphen, dass sie von Runtime-Code generiert werden, während doxygen statisch erzeugt wird. Ich weiß nicht, von Werkzeugen, die die Funktionsspuren in eine visuelle Darstellung drehen können, obwohl es nicht so schwer sein sollte zu tun.

Es gibt auch die bytekit Erweiterung, die primäre Funktion ist es, die Bytecode zu zeigen, dass Quellcode PHP generieren. Er kann dies in einem Diagramm zeigen, dass im Wesentlichen ein callgraph.

Dies ist ein altes Thema - aber falls jemand findet es nützlich ....

  • kKCachegrind wird callgraphs produzieren die tatsächlichen Ausführungs-Threads gezeigt.

  • PHPCallGraph ist eine ziemlich einfache um graphviz die statische Analyse perfroms

  • Es gibt auch meine eigene Anstrengung die ähnlich PHPCallGraph sondern fügt Informationen zu Schleifen / bedingte Strukturen und stellt ein Verfahren zur Rückruf Knoten hinzugefügt wird. Einige Beispiel-Skripte werden mit dem Toolkit gebündelt -. Sie können aber binde sie auch in Ihren eigenen Skripten

Wenn Sie etwas interaktive Besuche die neue nWire für PHP . Es ist eine Eclipse-Plugin, das entweder mit PDT 2.1 und Zend Studio 7.0 funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top