如何在PhpStorm中绘制一个详细的UML类图?

2026-04-18 07:122阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1118个文字,预计阅读时间需要5分钟。

如何在PhpStorm中绘制一个详细的UML类图?

在PhpStorm中安装PlantUML插件,并配置Graphviz:

1. 在PhpStorm中打开插件管理器。

2.搜索PlantUML integration插件并安装。

3.访问Graphviz官网(http://www.graphviz.org/)下载graphviz.exe。

4.将graphviz.exe安装到系统路径中,例如C:\Program Files\Graphviz2.38\bin。

5.在PhpStorm中,进入设置>工具>PlantUML。

6.在Graphviz路径中输入graphviz.exe的路径(例如C:\Program Files\Graphviz2.38\bin\dot.exe)。

IDE支持

  • Phpstorm

    • 在Plugins中 安装PlantUML integration插件

    • www.graphviz.org/网站下载graphviz.exe并安装(这个软件可以支持更多的UML语法)

    • 将graphviz安装目录下的dot.exe路径添加到PlantUML的设置中

文档

  • 文档地址:plantuml.com/

  • 建议使用活动图-Activity-bate语法:活动图Activity-Beta(plantuml.com/zh/activity-diagram-beta)

  • 活动图(新语法)

当前活动图(activity diagram)的语法有诸多限制和缺点,比如代码难以维护。所以从V7947开始提出一种全新的、更好的语法格式和软件实现供用户使用(beta版)。就像序列图一样,新的软件实现的另一个优点是它不再依赖与Graphviz。
新的语法将会替换旧的语法。然而考虑到兼容性,旧的语法仍被能够使用以确保向前兼容。
但是我们鼓励用户使用新的语法格式。

语法

基础

  • @startuml@enduml
    开始、结束标记,表示UML解析的部分

  • startend
    表示图示的开始和结束。图示的开始和结束。

  • :Hello world;
    活动标签(activity label)以冒号开始,以分号结束。活动默认安装它们定义的顺序就行连接。

  • ifthenelseelseif
    设置分支测试。标注文字则放在括号中。

  • repeatrepeatwhile 重复循环。

  • whileendwhile进行while循环。还可以在关键字endwhile后添加标注,还有一种方式是使用关键字is

  • forkfork againend fork表示并行处理。

  • noteend notefloating note left 等等表示注释,例如:

floating note left: This is a note :foo2; note right This note is on several //lines// and can contain <b>HTML</b> ==== * Calling the method ""foo()"" is prohibited end note

  • #HotPin:activity;#AAAAAA:ending of the process; 表示颜色

  • 使用->标记,你可以给箭头添加文字或者修改箭头颜色。dotted, dashed, bold or hidden arrows 和颜色标记,例如-[#blue]->

  • 通过定义分区(partition),你可以把多个活动组合(group)在一起。通过定义分区(partition),你可以把多个活动组合(group)在一起。例如:

partition Initialization { :read config file; :init internal variable; }

  • 使用管道符|来定义泳道。还可以改变泳道的颜色。

|Swimlane1| start :foo1; |#AntiqueWhite|Swimlane2| :foo2; :foo3; |Swimlane1| :foo4; |Swimlane2| :foo5; stop

  • 关键字detach移除箭头。

  • 通过修改活动标签最后的分号分隔符(;),可以为活动设置不同的形状。|、<、>、/、]、}

:next(o)| :Receiving; split :nak(i)< :ack(o)> split again :ack(i)< :next(o) on several line| :i := i + 1] :ack(o)> split again :err(i)< :nak(o)> split again :foo/ split again :i > 5} stop end split :finish;

一个例子

@startuml start if (is login?) then (Y) if (gived box?) then (Y) :illegal request; detach else (N) :release box; :get boxOid; endif else (N) if (has boxOid?) then (N) :illegal request; detach endif endif :check wechat broswer; if (wechat broswer?) then (Y) if (get openid from cookie?) then (Y) if (get userInfo from DB by openid?) then (N) :clear openid in cookie; :re-request Url; detach endif else (N) :location wechat auth; detach endif endif :receive chocolate; end @enduml


更多phpstorm技术文章,请访问phpstorm教程栏目!

以上就是关于PhpStorm中如何绘画UML的解析的详细内容,更多请关注自由互联其它相关文章!

如何在PhpStorm中绘制一个详细的UML类图?