微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP代码分析器确定使用的类/扩展

问题

我有一个遗留代码库,我需要分析和确定依赖项.特别是对类(内部/外部)和扩展(Memcache,PDO等)的依赖.

我试过的

我已经回顾了Is there a static code analyzer for PHP files?中列出的工具.不幸的是,这篇文章已经过时了,大多数有前途的工具如phpCallGraph都不再适用.

我的想法是用词法分析代码并寻找类令牌.查看这些列表至少可以让我直观地确定依赖关系.但是,在以下代码中查找OtherClass可能很复杂:

$classname = 'OtherClass';
echo $classname::doubleColon();

最后,我怀疑我是第一个需要这个的人.我确信存在一种工具或工具组合来提供我需要的东西.所以我在自己写这篇文章之前就问SO社区.

更新

理想情况下,此工具将分析具有完整代码覆盖率的多个文件因此,像Xdebug这样的工具虽然很棒,但并不能解决这个问题.

您可以使用Gopal Vijayaraghavan的 inclued extension而不是PHPCallGraph,它与 Graphviz结合使用,可以为您提供包含特定执行路径的所有包含文件的漂亮图表.

例:

此外,我建议使用Xdebug(一个PHP调试器),它提供了一个可以在Valgrind之前输出数据的分析器.使用兼容IDE的调试器来跟踪执行路径(这有助于我通过例如Drupal的大量调用栈来跋涉).

结合两者,你应该得到一个相当的概述.

编辑

在网上搜索并找到了nWire for PHP一个eclipse插件,看起来它可能是适合你的工具(30天免费试用,应该足以让你先行一步).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐