如何转储工作流
编辑本页如何转储工作流
为了帮助您调试工作流,您可以将其生成为SVG或PNG图像的可视化表示形式。首先,安装生成图像所需的任何免费和开源应用程序:
如果您在Symfony应用程序中定义工作流,则运行此命令将其转储为映像:欧宝娱乐app下载地址
12 3 4 5 6 7 8 9 10 11 12 13 14
#使用Graphviz的“点”和SVG图像$php bin/控制台工作流:dump workflow-name | dot -Tsvg -o graph.svg . php#使用Graphviz的“点”和PNG图像$php bin/console workflow:dump workflow-name | dot - tng -o graph.png . php#使用PlantUML的' PlantUML .jar'$PHP bin/控制台工作流:dump workflow_name——dump-format= pump | Java -jar plantuml.jar -p > graph.png#突出转储工作流中的'place1'和'place2$php bin/控制台工作流:dump workflow-name place1 place2 | dot -Tsvg -o graph.svg . php#使用美人鱼.js CLI$PHP bin/控制台工作流:dump workflow_name——dump-format=mermaid | MMDC -o graph.svg
DOT图像是这样的:
美人鱼的图像是这样的:
PlantUML映像将如下所示:
如果要在Symfony应用程序之外创建工作流,请使用欧宝娱乐app下载地址GraphvizDumper
或StateMachineGraphvizDumper
类来创建DOT文件和PlantUmlDumper
创建PlantUML文件:
1 2 3 4 5 6 7
//将此代码添加到PHP脚本;例如:dump-graph.php$自动倾卸车=新GraphvizDumper ();回声$自动倾卸车->转储($定义);#如果你喜欢PlantUML,使用下面的代码:# $dumper =新的PlantUmlDumper();# echo $definition ->dump($definition);
1 2 3
#用你的PHP脚本名替换'dump-graph.php$php dump-graph.php | . -Tsvg -o graph.svg$Java -jar plantuml.jar -p > graph.png
样式
你可以使用元数据
使用以下键来设置工作流的样式:
的地方:
bg_color
:颜色;描述
:描述状态的字符串。
转换:
标签
:替换转换名称的字符串;颜色
:颜色;arrow_color
:颜色。
字符串可以包括\ n
以多行显示内容的字符。颜色可以定义为:
- 的颜色名称。PlantUML的颜色列表;
- 十六进制颜色(两者都是
# AABBCC
而且#美国广播公司
支持格式)。
请注意
美人鱼倾倒不支持着色箭头与arrow_color
因为在美人鱼中没有支持这样做。
下面是添加了样式的拉请求状态机的配置。
- YAML
- XML
- PHP
12 34 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#配置/包/ workflow.yaml框架:工作流程:pull_request:类型:“state_machine”marking_store:类型:“方法”属性:“currentPlace”支持:-应用\ \ PullRequest实体initial_marking:开始地方:开始:~编码:~测试:~点评:元数据:描述:人类审查合并:~关闭:元数据:bg_color:DeepSkyBlue转换:提交:来自:开始:测验更新:来自:(编码、测试中,审查):测验元数据:arrow_color:绿松石wait_for_review:来自:测验:审查元数据:颜色:橙色request_change:来自:审查:编码接受:来自:审查:合并后的元数据:标签:接受公关拒绝:来自:审查:关闭重启:来自:关闭:审查
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
<!--config/packages/workflow.xml --><??> . xml version="1.0" encoding="UTF-8"<容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd //www.oldmanjams.com/schema/dic/symfony //www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”><框架:配置><框架:工作流的名字=“pull_request”类型=“state_machine”><框架:marking-store><框架:类型>方法框架:类型><框架:房地产>currentPlace框架:房地产>框架:marking-store><框架:支持>应用\ \ PullRequest实体框架:支持><框架:initial_marking>开始框架:initial_marking><框架:地方>开始框架:地方><框架:地方>编码框架:地方><框架:地方>测验框架:地方><框架:地方的名字=“审查”><元数据框架:><框架:描述>人工审核框架:描述>元数据框架:>框架:地方><框架:地方>合并后的框架:地方><框架:地方的名字=“关闭”><元数据框架:><框架:bg_color>DeepSkyBlue框架:bg_color>元数据框架:>框架:地方><框架:过渡的名字=“提交”><框架:从>开始框架:从><框架:>测验框架:>框架:过渡><框架:过渡的名字=“更新”><框架:从>编码框架:从><框架:从>测验框架:从><框架:从>审查框架:从><框架:>测验框架:><元数据框架:><框架:arrow_color>绿松石框架:arrow_color>元数据框架:>框架:过渡><框架:过渡的名字=“wait_for_review”><框架:从>测验框架:从><框架:>审查框架:><元数据框架:><框架:颜色>橙色框架:颜色>元数据框架:>框架:过渡><框架:过渡的名字=“request_change”><框架:从>审查框架:从><框架:>编码框架:>框架:过渡><框架:过渡的名字=“接受”><框架:从>审查框架:从><框架:>合并后的框架:><元数据框架:><框架:标签>接受公关框架:标签>元数据框架:>框架:过渡><框架:过渡的名字=“拒绝”><框架:从>审查框架:从><框架:>关闭框架:>框架:过渡><框架:过渡的名字=“重启”><框架:从>关闭框架:从><框架:>审查框架:>框架:过渡>框架:工作流>框架:配置>容器>
12 34 56 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
/ /配置/包/ workflow.php使用欧宝娱乐app下载地址\配置\FrameworkConfig;返回静态函数(FrameworkConfig$框架){/ /……$pullRequest=$框架->工作流()->工作流(“pull_request”);$pullRequest->类型(“state_machine”)->支持([“App \实体\ PullRequest”])->initialMarking ([“开始”]);$pullRequest->markingStore ()->类型(“方法”)->属性(“currentPlace”);$pullRequest->地方()->名称(“开始”);$pullRequest->地方()->名称(“编码”);$pullRequest->地方()->名称(“测试”);$pullRequest->地方()->名称(“审查”)->元数据([“描述”= >“人类审查”]);$pullRequest->地方()->名称(“合并”);$pullRequest->地方()->名称(“关闭”)->元数据([“bg_color”= >“DeepSkyBlue”]);$pullRequest->过渡()->名称(“提交”)->从([“开始”])->((“测试”]);$pullRequest->过渡()->名称(“更新”)->从([“编码”,“测试”,“审查”])->((“测试”])->元数据([“arrow_color”= >“绿宝石”]);$pullRequest->过渡()->名称(“wait_for_review”)->从([“测试”])->((“审查”])->元数据([“颜色”= >“橙”]);$pullRequest->过渡()->名称(“request_change”)->从([“审查”])->((“编码”]);$pullRequest->过渡()->名称(“接受”)->从([“审查”])->((“合并”])->元数据([“标签”= >“接受公关”]);$pullRequest->过渡()->名称(“拒绝”)->从([“审查”])->((“关闭”]);$pullRequest->过渡()->名称(“接受”)->从([“关闭”])->((“审查”]);};
PlantUML映像将如下所示:
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
版本: