IT技术博客大学习 共学习 共进步

使用PHP_UML生成代码的UML图

风雪之隅 2010-06-04 14:53:21 浏览 5,322 次

在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题.

今天我就介绍一种, 自动生成UML图的方法.

假设, 我有一个项目文件夹:laruence, 在这个文件夹上有一个文件Root.php(事实上, 无论多级目录, 多个文件, 都可以).

<?php abstract class Root {    private $instance;    abstract public function Hi();} interface Intro {    public function Say();} class Sub extends Root implements Intro {    private $instance;    public function Say() {        echo "I am Laruence";    }    public function Hi() {        echo "Hello!";    }}?>

首先, 我们要使用PHP_UML(PHP_UML)根据代码生成XMI.

使用方法比较简单, 在安装PHP_UML以后, 运行:

 phpuml laruence/ -o laruence.xmi -n laruence -f xmi --pure-object --no-deployment-view --no-component-view --no-docblock

会得到一个laruence.xmi文件, phpuml的具体参数可以通过phpuml -help了解.

有了xmi以后, 如何转成UML图呢?

Visio2007不支持导入XMI, 我找到了另外的一个工具:Altova MapForce, 这个工具可以支持XMI到UML图的转换, 需要注册, 不过提供了30天的使用许可(大家要是有更好的替换方案, 欢迎补充).

在Mapforce导入laruence.xmi以后 ,生成UML图, 就得到了如下的PNG:

UML图

UML图

是不是很方便呢?

另外PHP_UML还可以生成html格式, 做为一种doc gen工具也不错. 更可以通过xmi生成PHP文件.

建议继续学习

  1. Mysql监控指南 (阅读 21,102)
  2. 分享一个JQUERY颜色选择插件 (阅读 14,062)
  3. 服务器性能测试工具推荐 (阅读 7,902)
  4. 性能测试工具sysbench简介 (阅读 5,903)
  5. 10个最有帮助的在线协同工具 (阅读 5,842)
  6. 为什么我认为每个穷网站开发程序员都应该用Linux[工具篇] (阅读 5,423)
  7. 轻量级在线原型设计工具mockingbird (阅读 5,121)
  8. Chrome开发者工具的小技巧 (阅读 5,045)
  9. 前端开发小工具集合 (阅读 5,045)
  10. 在生产环境中使用php性能测试工具xhprof (阅读 4,741)