limen/php-graflow

简单的节点流控制器

dev-master 2018-01-31 03:38 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:14:47 UTC


README

Build Status Packagist

具有功能的简单流控制器

  • 流程通过图来定义。
  • 图由节点和边组成。
  • 边有方向。
  • 图可以有一个头节点和一个或多个尾节点。
  • 中间节点是既不是头节点也不是尾节点的节点。
  • 尾节点可以有多个入节点,但没有出节点。
  • 头节点可以有多个出节点,但没有入节点。
  • 中间节点可以有多个入节点和出节点。
  • 相邻节点之间的边可以是单向或双向。

安装

建议通过 composer 安装。

composer require "limen/php-graflow"

用法

请参阅 src/Examplestests/

概念

入/出节点

当节点 A 有通往节点 B 的路径时,A 是 B 的入节点,B 是 A 的出节点。

合约

在 PHP 数组中定义图

第一个键必须是头节点。

[
    'blank' => ['editing', 'canceled'],
    'editing' => ['draft', 'canceled'],
    'draft' => ['editing', 'published', 'canceled'],
    'published' => ['draft', 'printed', 'canceled'],
    'printed' => [],
    'canceled' => [],
]

等效图

graph

箭头表示路径方向。