问题
@H_403_20@
您可以使用Gopal Vijayaraghavan的
inclued extension而不是PHPCallGraph,它与
Graphviz结合使用,可以为您提供包含特定执行路径的所有包含文件的漂亮图表.
我有一个遗留代码库,我需要分析和确定依赖项.特别是对类(内部/外部)和扩展(Memcache,PDO等)的依赖.
我试过的
我已经回顾了Is there a static code analyzer for PHP files?中列出的工具.不幸的是,这篇文章已经过时了,大多数有前途的工具如phpCallGraph都不再适用.
我的想法是用词法分析代码并寻找类令牌.查看这些列表至少可以让我直观地确定依赖关系.但是,在以下代码中查找OtherClass可能很复杂:
$classname = 'OtherClass'; echo $classname::doubleColon();
最后,我怀疑我是第一个需要这个的人.我确信存在一种工具或工具组合来提供我需要的东西.所以我在自己写这篇文章之前就问SO社区.
更新
例:
此外,我建议使用Xdebug(一个PHP调试器),它提供了一个可以在Valgrind之前输出数据的分析器.使用兼容IDE的调试器来跟踪执行路径(这有助于我通过例如Drupal的大量调用栈来跋涉).
结合两者,你应该得到一个相当的概述.
编辑
在网上搜索并找到了nWire for PHP – 一个eclipse插件,看起来它可能是适合你的工具(30天免费试用,应该足以让你先行一步).