工作流组件提供了一个编写为PHP库的工作流引擎。该库没有将工作流建模为Petri网或尝试枚举工作流模式,而是将工作流视为一个简单的有向图:顶点模型节点和边模型转换。节点代表生命周期中的一个点。 Node类实现了这个概念。节点在整个工作流中由唯一名称引用。约束是NodeMap类的责任。过渡是节点之间的链接。 Transition类实现了这个概念。在创建时,转换被赋予一个实现SpecificationInterface的规范对象。该规范用作业务规则来决定在工作流中前进的位置。代币是一个简单的字符串,用于初始化特定节点中的工作流。这个想法是将令牌视为放置在节点中心的东西。当工作流引擎打开时,令牌会从一个节点移动到另一个节点。活动事件是每次令牌到达节点时创建的对象。 Event类实现了这个概念。这个类从Symfony EventDi