问题.今天我就介绍一种, 自动生成UML图的方法.假设, 我有一个项目文件夹:laruence, 在这个文件夹上有一个文
件Root.php(事实上, 无论多级目录, 多个文件, 都可以).
1 <?php 2 3 abstract class Root { 4 5 private $instance; 6 abstract public function Hi(); 7 8 } 9 10 interface Intro { 11 12 public function Say(); 13 14 } 15 16 17 class Sub extends Root implements Intro { 18 19 private $instance; 20 21 public function Say() { 22 echo "I am Laruence"; 23 } 24 public function Hi() { 25 echo "Hello!"; 26 } 27 } 28 29 ?>
首先, 我们要使用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:
是不是很方便呢?
另外PHP_UML还可以生成html格式, 做为一种doc gen工具也不错. 更可以通过xmi生成PHP文件.
作者: Laruence