php 开源界工作流引擎yflow

Ace华

非常感谢 java warm-flow 项目,为本引擎带来的借鉴与灵感

java warm flow斩获了8千多star,足以证明这个引擎的强大之处,目前本项目还有很多改进的地址,但基础使用没有问题,欢迎大家一起努力,pr,打造php开源工作流的明日之星。

y-flow

y-flow

y-flow

y-flow

y-flow

详细介绍

  • 简洁易用‌:仅包含7张表,代码量少,上手和集成速度快。
  • 审批功能全面‌:支持通过、退回、撤销、拿回、任意跳转、终止、转办、票签、委派和加减签、互斥、并行、自动审批、远程访问和脚本执行服务等多种审批操作,以及条件表达式、办理人表达和监听器等高级功能。
  • 流程设计器‌:支持节点属性扩展,原生支持经典和仿钉钉双模式。
  • 流程图‌:自带流程图,功能扩展,原生支持经典和仿钉钉双模式。
  • 条件表达式‌:内置常见的和spel条件表达式,支持自定义扩展。
  • 办理人变量表达式‌:内置${handler}和spel格式的表达式,满足不同场景需求,灵活可扩展。
  • 监听器‌:提供四种监听器,支持不同作用范围和spel表达式,参数传递灵活,支持动态权限。
  • 流程变量‌:在整个流程办理过程起到重要的角色,如办理人表达式中,传入变量进行动态指定办理人。
  • ORM框架支持‌:支持laravel model,后续将扩展支持其他框架
  • 多租户与软删除‌:流程引擎自身维护多租户和软删除实现,也可使用对应ORM框架的实现方式。
  • 实战项目‌:官方提供基于webman admin封装的实战项目,极具参考价值。

为什么免费

1.本项目来源于java版本的warm-flow,设计理念和表结构,代码等均借鉴参考,源项目是使用Apache 2.0免费开源的.warm-flow作者都开源了这么好用的产品了,本项目也要继续开发这个无私奉献的精神.
2.基于Apache2开发的项目,本项目虽然可以闭源收费,但本着为PHP作点贡献,有点情怀,就免费开源.
3.相比于同类型的产品,别的动不动就是499,599的,用了以后,发现可用性极差,源码质量也是很糟糕,没有一点规范,本人觉得php应该也要有java那样的胸怀,java的工作流引擎多的数不过来,比如flowable,activity,camunda,snaker等等,所以好东西就应该分享,相互学习进步,这样php才会越来越好。

安装使用

要求 php>=8.1

1.确保已经安装了webman

webman安装地址:

https://www.workerman.net/doc/webman/install.html

1.1默认使用交互式安装向导(二选一,windows下不能使用默认的cmd,选择不了,建议使用git bash)

composer create-project workerman/webman:~2.0

1.2禁用交互式安装向导(二选一,windows下推荐使用)

composer create-project workerman/webman:~2.0 --no-interaction

2.安装工作流引擎(可以省略)

composer require ysh/yflow

因为webman-yflow内部已经依赖了 yflow 引擎

3.安装webman-admin插件

composer require -W webman/admin ~2.0

重启webman,参考 https://www.workerman.net/doc/webman/install.html#2.%20%E8%BF%90%E8%A1%8C

访问 http://127.0.0.1:8787/app/admin/ 完成数据库相关配置

无法在composer.josn中依赖webman-admin插件,因为webman-yflow插件安装时,需要写菜单到数据库中,所以,必须保证webman-admin插件安装成功

4.安装webman-yflow插件

composer require ysh/webman-yflow

5.修改config\database.php下的数据库配置

以下为示例,请根据实际情况修改

'database'  => 'test_yflow',
'username'  => 'root',
'password'  => 'root',
'charset'   => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',

6.执行插件菜单安装

php webman app-plugin:install yflow

重新访问: http://127.0.0.1:8787/app/admin

导入预制流程定义json文件

内置了一个简单的串行的流程定义json文件,位于 插件目录下/测试流程json/leaveFlow-serial1.json,可以在流程定左上角导入.

卸载插件

1.先卸载菜单


php webman app-plugin:uninstall yflow

可能会卸载失败,直接删除数据库中的flow_开头的表及test_leave表即可.

2.再卸载插件

composer remove ysh/webman-yflow

开源地址:

yflow 引擎

https://github.com/Mr-ShiHuaYu/yflow

webman yflow 插件开源地址

https://github.com/Mr-ShiHuaYu/webman-yflow

联系方式

qq:974988176
qq群:1085549292

感谢java版本工作流引擎 warm-flow

本项目灵感来自于java版本的 warm-flow
warm-flow是国产的工作流引擎,以其简洁轻量、五脏俱全、灵活扩展性强的特点,成为了众多开发者的首选。同时原生支持经典和仿钉钉双模式
warm flow官网(非本项目)
https://www.warm-flow.com/
开源地址(非本项目)
https://gitee.com/dromara/warm-flow

文档

目前暂时只能通过查看java warm flow的文档
https://www.warm-flow.com/master/introduction/introduction.html

后续将推出本引擎yflow的文档,敬请期待

其他说明

yflow引擎支持任何php框架,只需要在启动时引入工作流引擎初始化的静态方法YFlowBootstrap::init();即可。

本项目只是使用yflow引擎接入webman admin,并且封装为一个单独插件的一个演示,yflow引擎支持前端分离和不分离.

原项目前端就是使用vue写的,可以轻松接入前后端分离项目。

226 2 0
2个评论

liziyu

🐂🍺

KingBes

  • 暂无评论

Ace华

950
积分
0
获赞数
0
粉丝数
2023-02-14 加入
🔝