PHP代码分析器,用于确定使用的类/扩展 问题

PHP代码分析器,用于确定使用的类/扩展 问题,php,code-analysis,lexical-analysis,Php,Code Analysis,Lexical Analysis,我有一个遗留的代码库,我需要分析和确定依赖关系。特别是对类(内部/外部)和扩展(Memcache、PDO等)的依赖 我试过的 我已经查看了中列出的工具。不幸的是,这篇文章已经过时了,像这样的大多数有前途的工具已经不起作用了 我的想法是对代码进行词汇分析并寻找类标记。查看这些列表至少可以让我直观地确定依赖关系。但是,在以下代码中查找OtherClass可能很复杂: $classname = 'OtherClass'; echo $classname::doubleColon(); 最后,我怀疑我

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

我试过的 我已经查看了中列出的工具。不幸的是,这篇文章已经过时了,像这样的大多数有前途的工具已经不起作用了

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

$classname = 'OtherClass';
echo $classname::doubleColon();
最后,我怀疑我是第一个需要这个的人。我确信存在一种工具或工具组合来提供我需要的东西。所以,在我自己写这篇文章之前,我会询问So社区

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

您可以使用Gopal Vijayaraghavan的工具,而不是phpCallGraph,它结合使用可以为您提供一个特定执行路径的所有包含文件的漂亮图形

例如:

此外,我推荐(一个PHP调试器),它提供了一个分析器,可以输出用户可以使用的数据。使用带有兼容IDE的调试器来遵循执行路径(这对我涉过Drupal的大量调用堆栈帮助很大)

将两者结合起来,你应该会得到一个相当详细的概述

编辑


在网上搜索并找到-一个eclipse插件,看起来它可能是适合您的工具(30天免费试用,应该足以让您领先)。

我认为PhpCodeAnalyzer正是您想要的-
它打印代码库中所有使用的外部扩展的列表。

我将查看included。就Xdebug而言,据我所知,它需要主动代码执行。此外,它将只分析示例代码路径。这两种方法都阻碍了对完整代码覆盖率的审计。似乎包含的工作方式与Xdebug类似,因此不符合我的确切需要。不过工具不错。谢谢