情况
我有一个 PHP 项目,其中有很多类,并且遵循Zend 命名约定,在很多文件夹中有很多关系。
我使用 NetBeans IDE 7.1。我在 Windows 7 下工作。
目标
我需要查看类关系的图形表示,可能具有不同的深度和不同的复杂程度。此外,如果图表中的类是可点击的,那就太好了。我不一定需要生成文档。
尝试
1. 在 NetBeans 中
NetBeans是一个很棒的 IDE,有很多特性。事实上,它可以识别类依赖关系,明智的做法是假设它有某种方式以图形方式查看这种关系,本机或通过插件。存在这样的插件,但适用于 5.5 版。我有7.1,它不兼容。失败。
2.企业架构师
一个简单的谷歌搜索将Enterprise Architect作为解决此类问题的全能、完全全面的工具。所以,我下载并安装。我不打算详细说明我无法理解如何做任何事情,以及教程如何吹嘘软件可以做什么,但很少说如何做。
所以,我导入了源。它生成了许多不同的类并解析了所有成员。此外,它还生成了类图。“完美!”,我虽然,但唉。类图仅显示类之间的关系,其文件位于同一源文件夹中,尽管关系已在类的属性中明显注册。搜索有关如何将所有这些图表合并为一个的文档是不成功的。失败。
注意:我在此之前创建了一个并行线程。
3. PHP_UML
找到这个 PEAR 工具。看起来不错。因此,我阅读了有关如何从各种来源为我的设置安装它的文档,然后运行它。首先,我使用了html输出格式。伟大的!大量带有索引的文档,bla bla bla。然而,它可以在我想要的方向上做的最好的事情是: 不用说,我猜,这是我实际需要的一个非常糟糕的超级简化版本。结论:失败。
4.企业架构师+PHP_UML
但是,PHP_UML 也可以生成 XMI。哇。非常好。我可以存储我的关系并以不同的方式查看它们并与其他人交流。
因此,我将其导入 Enterprise Architect。结果:与之前单独使用 Enterprise Architect 相同,只是没有类图。只是上课。据我了解,我现在可以手动创建关系。史诗般的失败。
5.ArgoUML + PHP_UML
在我寻找解决方案的某个地方,我偶然发现有人说他们使用ArgoUML的评论。已下载并安装。XMI 导入有些麻烦(必须明确将版本更改为 1)。失败(参见尝试 3)。
结论
如此看似微不足道的任务,却又如此艰巨。我是否必须浏览整个列表,尝试每个应用程序?