【发布时间】:2010-06-04 17:47:14
【问题描述】:
我正在开发一个由其他人编写的非常大的 PHP 应用程序。
有没有人知道任何工具(免费或商业)可以让我绘制哪个 PHP 文件包含/调用/需要哪个其他 PHP 文件?
我为 PHP 尝试了 nWire,但它不能准确地捕获我的 include () 调用。
【问题讨论】:
我正在开发一个由其他人编写的非常大的 PHP 应用程序。
有没有人知道任何工具(免费或商业)可以让我绘制哪个 PHP 文件包含/调用/需要哪个其他 PHP 文件?
我为 PHP 尝试了 nWire,但它不能准确地捕获我的 include () 调用。
【问题讨论】:
【讨论】:
不确定此类工具,但要知道包含哪些文件,您可以使用get_included_files,您可以获得这样定义的变量、常量和函数
// get vars
$vars = get_defined_vars();
// get constants
$consts = get_defined_constants();
// get functions
$funcs = get_defined_functions();
【讨论】:
phpDocumentor 至少会列出你所有的类,并以 HTML 格式记录它们,每个类中都有指向所需类的链接。如果您想以特定方式绘制依赖关系图,还可以扩展 phpDoc 的行为。 phpDoc 松散地基于 javadoc。
【讨论】:
试试Inclued,这是一个扩展 PHP 并报告文件包含和其他信息的 PECL 包。手册介绍说:
在运行时跟踪并转储文件包含和类继承的层次结构。这些文件可能已使用 include()、include_once()、require() 或 require_once() 包含在内。还报告了类继承依赖关系。
还可以查看PHP_Depend,这是一个 PHP 代码度量工具。这并不完全显示文件依赖关系,但它报告的代码复杂度指标可能对您维护和重构继承的 PHP 项目有所帮助。
【讨论】:
如果您不介意 UML,Enterprise Architect 会制作一些非常不错的自动生成类图。我在我的大部分项目中都使用它 :) 这有点贵,但值得
【讨论】: