PHP 应用程序流程图(或函数调用图)
碰巧我最终完成了一个大型 PHP 程序,并且我需要一个程序(或易于安装的脚本)来绘制 PHP 应用程序的流程控制/调用图(即;必须处理多个 PHP 文件)。 已经看到像 Graphviz 这样的东西,不确定哪一个适用于 PHP?
有什么建议吗?
干杯!
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!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我从未使用过任何可以静态执行此操作的工具(即从源文件),但这里有一种在执行脚本/应用程序时获取调用图的方法。
首先,您需要在开发/测试服务器上安装 Xdebug 扩展 < em>(不要将其安装在生产服务器上:这对性能来说非常糟糕^^)
然后,您可以使用它的 分析功能,生成与页面加载执行相对应的
.cachegrindout
文件。之后,您可以使用 KCacheGrind 加载该
.cachegrindout
文件 (在 Linux 上——我认为没有 Windows 版本) ; KCacheGrind 可以从 .cachegrindout 文件生成调用图。这是您可以获得的调用图示例:
(来源:pascal-martin.fr)
(这里,它是从加载博客软件 Dotclear 页面时获得的
.cachegrindout
文件生成的)I have never used any tool that can do that statically (i.e. from source files), but here's a way to get a callgraph when executing a script/application.
First, you need to install the Xdebug extension -- on a development/testing server (don't install it on a production server : it's quite bad for performances ^^ )
Then, you can use its profiling features to generate a
.cachegrindout
file corresponding to the execution of a page-load.After that, you can load that
.cachegrindout
file with KCacheGrind (On linux -- I don't think there's a windows version) ; KCacheGrind can generate call-graphs from.cachegrindout
files.And here's an example of callgraph you can get :
(source: pascal-martin.fr)
(Here's, it's been generated from a
.cachegrindout
file obtained while loading a page of Dotclear, a blogging software)Doxygen 可以静态地执行此操作。只需 doxygen -d 创建一个配置文件,然后编辑它以创建调用图。
Doxygen can do it statically. Just doxygen -d to create a config file, then edit it to create callgraphs.