问题
我有一个遗留代码库,我需要分析和确定依赖关系。特别是对类(内部/外部)和扩展(Memcache、PDO 等)的依赖。
我试过的
我已经查看了是否有 PHP 文件的静态代码分析器中列出的工具?. 不幸的是,这篇文章已经过时了,大多数有前途的工具,如phpCallGraph不再起作用。
我的想法是从词法上分析代码并寻找类标记。查看这些列表至少可以让我直观地确定依赖关系。但是在以下代码中查找OtherClass可能很复杂:
$classname = 'OtherClass';
echo $classname::doubleColon();
最后,我怀疑我是第一个需要这个的人。我确信存在一种工具或工具组合来提供我需要的东西。所以我在自己写这篇文章之前询问了 SO 社区。
更新
理想情况下,该工具将分析具有完整代码覆盖率的多个文件。因此,像 Xdebug 这样的工具虽然很棒,但并不能解决这个确切的问题。