9

Happens that I've ended up working on a big PHP program and I need a program (or easy to install script) which draws a flow control/call graph of a PHP application (ie; must work over multiple PHP files). Already saw stuff like Graphviz, not sure which one works for PHP?

Any suggestions?

Cheers!

4

2 回答 2

9

我从未使用过任何可以静态执行此操作的工具(即来自源文件),但这里有一种在执行脚本/应用程序时获取调用图的方法。


首先,您需要在开发/测试服务器上安装Xdebug 扩展(不要将其安装在生产服务器上:这对性能非常不利 ^^)

然后,您可以使用其分析功能生成.cachegrindout与执行页面加载相对应的文件。


之后,您可以使用KCacheGrind.cachegrindout加载该文件(在 linux 上——我认为没有 windows 版本);KCacheGrind 可以从文件生成调用图。 .cachegrindout

这是您可以获得的调用图示例:

KCacheGrind : 导出为图像的调用图
(来源:pascal-martin.fr

(这里,它是从.cachegrindout加载博客软件 Dotclear 页面时获得的文件生成的)

于 2010-04-27T10:46:30.510 回答
2

Doxygen可以静态完成。只需 doxygen -d 创建一个配置文件,然后对其进行编辑以创建调用图。

于 2013-08-08T08:29:20.960 回答