手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆
浏览模式: 标准 | 列表2010年05月14日的文章

使用PHP_UML生成代码的UML图

不得不说,我很郁闷。事实上,我很少使用PEAR库,几乎是从来也不,所以看到这篇 文章的时候,我尝试了一下,同时也安装了pear库。并按照教程所说的,一步步的做了下去。

OK,先上文章,再说郁闷。

在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题.
今天我就介绍一种, 自动生成UML图的方法.
假设, 我有一个项目文件夹:laruence, 在这个文件夹上有一个文件Root.php(事实上, 无论多级目录, 多个文件, 都可以).

PHP代码
  1. <?php  
  2.    
  3. abstract class Root {  
  4.     private $instance;  
  5.     abstract public function Hi();  
  6. }  
  7.    
  8. interface Intro {  
  9.     public function Say();  
  10. }  
  11.    
  12. class Sub extends Root implements Intro {  
  13.     private $instance;  
  14.     public function Say() {  
  15.         echo "I am Laruence";  
  16.     }  
  17.     public function Hi() {  
  18.         echo "Hello!";  
  19.     }  
  20. }  
  21. ?>  

 

首先, 我们要使用PHP_UML(PHP_UML)根据代码生成XMI.
使用方法比较简单, 在安装PHP_UML以后, 运行:

XML/HTML代码
  1. 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 MapForce, 这个工具可以支持XMI到UML图的转换, 需要注册, 不过提供了30天的使用许可(大家要是有更好的替换方案, 欢迎补充).
在Mapforce导入laruence.xmi以后 ,生成UML图, 就得到了如下的PNG:

大小: 14.05 K
尺寸: 473 x 376
浏览: 581 次
点击打开新窗口浏览全图

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

--EOF--上文来自http://www.laruence.com/2010/05/14/1473.html【风雪之隅】

郁闷的事情是这样发生的,我直接进行我的命令行,OK,进入php目录,直接运行pear.bat,因为目录下有这个文件。但是告诉我不对,所以我准备重装pear,怎么装呢?官方告诉我,下载一个go-pear.php文件,用PHP执行一下就可以了。
下载好go-pear.php文件后,拷到php目录下,运行:php go-pear.php,然后就一步一步的往下安装PEAR了。装的时候请选择system而不是local。安装完毕后生成一个REG文件,这是让你执行一下,把PHP的环境变量加到系统中。

这时候,就可以运行pear install PHP_UML-1.5.2了,第一件郁闷的事情就发生了,系统提示,php_uml需要xsl的支持,因为我用的是绿色版的,所以我修改了一下我的php.ini后,继续执行时,仍然提示需要xsl,不是特别明白的时候,我看了一下我的php.ini,确认是加载了。但再次运行又是提示,最后我运行php --ini,才发现,原来命令行下用的php.ini居然是在c:\windows下面,而不是我绿色版中配置的php.ini文件。我把php.ini拷贝到c:\windows下后,程序可以顺利执行,安装完毕php_uml了。

第二件郁闷的事情接踵而至,按照上文的程序方式,我生成了xmi文件,却发现无法打开,怎么办?按照 文件提示下载了那个Altova MapForce【我还是翻墙下载的呢,这么辛苦都没有搞定,真郁闷,40多M啊】,结果还是无法打开xmi文件,悲剧就是这样产生的。反正我是白搞了这玩意了。因为我平时不用UML,所以也不知道如何打开xmi文件。郁闷,直到现在。。。

Tags: pear, phpuml, uml, xmi

折腾

服务器象女性一样,每月都要来那么几次。没办法,不得己,参考资料,先尝试每小时 /etc/init.d/networking restart一下。
其实很郁闷的。。唉。
本来想用ifconfig eth0 down && ifconfig eth0 up,不太敢,呵呵。

建了一个755的文件,扔到bin目录下,然后crontab -e进行添加

* */1 * * * 文件路径 。

Over。目前只有这样了。

希望正常。。。不要再每月折腾一次。