kgu*_*est 41
还有梨提供的PHP UML工具.
PHP_UML:
通过以下命令在命令行上安装:
$ pear install pear/php_uml
(过去曾经如此,$ pear install pear/php_uml-alpha但包装已经稳定了.)
生成你的xmi:
$ phpuml -o project.xmi
小智 41
我强烈推荐BOUML:
Ant*_*los 23
phUML是用PHP编写的全自动UML类diagramm生成器,根据BSD许可证授权.它能够解析任何PHP5面向对象的源代码,并基于UML规范创建oo结构的适当图像表示.

./phuml -r /var/www/my_project -graphviz -createAssociations false -neato out.png
Run Code Online (Sandbox Code Playgroud)
ax.*_*ax. 19
我发现做PHP和UML的最好的(Windows)软件是Sparx Systems Enterprise Architect.除了功能的完整性,它还支持PHP 的以下内容:
不是免费的(199美元),但绝对物有所值.
还有php2xmi.你必须做一些手工工作,但它会生成所有类,所以你要做的就是将它们拖到Umbrello中的一个类图中.
否则,使用反射和graphviz生成图表非常简单.我在这里有一个片段,你可以用它作为起点.
这是我如何做到的(直接从代码到PDF绘图,无需手动绘制任何东西):
下面是使用fdp输出PDF图的合适命令行示例(假设argouml-graphviz XLST处理生成的点文件保存为xmi-model.dot):
fdp -Tpdf -Gmaxiter=1000 -Gmindist=0.5 -Gpackmode=node \
-Eweight=0.05 -Elen=1.0 -Eminlen=1.0 -Gsplines=true \
-Goverlap=false xmi-model.dot -oxmi-model.pdf
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您可以尝试PHP_UML或php2xmi而不是BOUML来执行"逆向工程"部分.我还没试过.
(我正在使用"逆向工程"这个短语,因为看起来UML人员在使用这些词时意味着从源代码中提取类和方法信息.我个人会将这些词解释为从可执行二进制文件中提取信息或捕获原始信息电线数据.)
如果您更喜欢手工绘制类图(而不是使用计算机来完成所有绘图),则可以使用BOUML或ArgoUML进行绘图.在这种情况下,通过BOUML使用"逆向工程"数据将有所帮助.
如果您希望从现有的PHP类轻松生成UML,可能需要考虑PHPStorm 3.0 IDE.它很好地将现有代码复制到UML中.