我正在处理一个非常大的PHP应用程序,是由其他人编写的。
有没有人知道任何工具(免费或商业)可以让我绘制出哪些PHP文件包含/调用/需要哪些其他PHP文件的图表?
我尝试过nWire for PHP,但它不能准确地捕获我的include()调用。
我不确定是否有这样的工具,但是如果想知道包含哪些文件,可以使用 get_included_files
函数,也可以像下面这样获取定义的变量、常量和函数。
// get vars
$vars = get_defined_vars();
// get constants
$consts = get_defined_constants();
// get functions
$funcs = get_defined_functions();
get_defined_vars
get_defined_constants
get_defined_functions
phpDocumentor将至少列出所有类并以HTML格式记录它们,每个类中都有指向所需类的链接。如果您想以特定方式进行依赖关系图形化,还可以扩展phpDoc的行为。phpDoc松散地基于javadoc。
尝试 Inclued ,这是一个扩展 PHP 并报告文件包含和其他信息的 PECL 包。手册介绍如下:
在运行时跟踪和转储文件包含和类继承的层次结构。这些文件可能已经使用 include(),include_once(),require() 或 require_once() 包含。还会报告类继承依赖关系。
另外,请查看 PHP_Depend ,这是一个用于 PHP 的代码度量工具。它并没有准确显示文件依赖关系,但会报告代码复杂度指标,这在您维护和重构继承的 PHP 项目时可能会有所帮助。
如果你不介意使用UML,Enterprise Architect可以生成非常好的类图。我在大多数项目中都使用它 :) 它有点昂贵,但是值得。