msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

14 May 10 使用PHP_UML生成代码的UML图

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

今天我就介绍一种, 自动生成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-docblocks

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

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

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

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

UML图

UML图

是不是很方便呢?

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


分享到:



Related Posts:

Tags: , , ,

11 Responses to “使用PHP_UML生成代码的UML图”

Pages: [2] 1 » Show All

  1. 梧桐 |

    bouml可以识别xmi1和xmi2版本,基本上可以符合要求了。。ArgoUML据说也是支持xmi1的,不过我没测试

Pages: [2] 1 » Show All

Leave a Reply

*