我正在寻找一种易于使用的工具,它可以显示一个类的“内部工作”,例如,用PHP。我想看到的是不同的类方法,以及它们是如何相关的(方法A调用方法B等)。是否有这样的工具来创建这样的图表?
在另一个步骤中,也许有一个工具也可以看到一个类的“内部工作”(以逆向工程方式)实际上是如何工作流,即所有if-else
决定等,什么方法是叫什么情况?
如果有人可以推荐我使用这样的工具(最好是PHP和Python),我会很感激。
答案 0 :(得分:1)
Doxygen是一个可以从代码中创建文档和call graphs
的工具。
您可以参阅此页面以获取更多信息:http://www.doxygen.nl/manual/diagrams.html
我使用此工具创建文档和调用图表。虽然输出取决于偏好,但它非常强大。
它支持多种语言,如C,Objective-C,C#,PHP,Java,Python,IDL(Corba,Microsoft和UNO / OpenOffice风格),Fortran,VHDL,Tcl,以及某种程度上的D.
答案 1 :(得分:0)
您可以尝试http://phpcallgraph.sourceforge.net/或github(https://gist.github.com/sebastianbergmann/625915)中的这个要点
答案 2 :(得分:0)
虽然很多建议指向pycallgraph
和phpcallgraph
我认为这些不会做你想做的事情 - 这些是用于运行时分析,而你想听到的是什么静态分析。
我不知道有任何这方面的工具,但是,鉴于你只对单个类的工作和该类中的关系感兴趣,只需要一点努力,你就应该能够在一起攻击一些东西。
你选择的脚本语言dot
使用的图表格式,然后使用点生成显示依赖关系的有向图。考虑到所涉及的努力,如果课程不是太大,我会被诱惑只是手工完成!
祝你好运,如果你确实找到解决方案,我很乐意看到它。
答案 3 :(得分:-1)
你看过pycallgraph了吗?
此外,对于运行时调用,您可以使用cProfile运行python代码并使用GProfToDot
查看它