PHP 应用程序流程图(或函数调用图)

发布于 2024-08-30 13:50:22 字数 149 浏览 11 评论 0原文

碰巧我最终完成了一个大型 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅紫色的梦幻 2024-09-06 13:50:22

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

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

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

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

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

KCacheGrind :调用图导出为图像
(来源: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 :

KCacheGrind : Callgraph exported as an image
(source: pascal-martin.fr)

(Here's, it's been generated from a .cachegrindout file obtained while loading a page of Dotclear, a blogging software)

临走之时 2024-09-06 13:50:22

Doxygen 可以静态地执行此操作。只需 doxygen -d 创建一个配置文件,然后编辑它以创建调用图。

Doxygen can do it statically. Just doxygen -d to create a config file, then edit it to create callgraphs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文