![](http://www.zhousa.com/zb_users/theme/quietlee/style/noimg/6.jpg)
阅读《2024 中国开源开发者报告》赢大奖,扫码申请享特权
![](https://www.oschina.net/img/hot3.png)
前言
基于PHP面向对象编程(OOP)设计的国产自研工作流引擎。它不仅具备灵活轻巧的特点,而且功能全面,五脏俱全。该引擎的组件设计独立,具备出色的可扩展性,使其成为大型项目的理想选择。
Ingenious v2新特性概览
特性 | 描述 |
---|---|
核心抽离,专注流程之美 | 工作流程的核心逻辑与复杂业务逻辑优雅分离,提升开发效率和代码可维护性。 |
服务组件化,架构灵活多变 | 高度组件化的服务体系,可自由组合,赋予系统架构无与伦比的灵活性和可扩展性。 |
灵活扩展,满足多元需求 | 预留丰富的扩展点和钩子函数,支持添加新功能、集成第三方服务,满足多样化需求。 |
重塑工作流程,激发PHP潜能 | 全新智能调度系统,深度理解PHP业务需求,动态优化任务分配与执行路径,提升效率。 |
模块化设计,灵活配置 | 采用服务组件模块化设计,独立且可自由组合,贴合实际需求,支持未来升级和扩展。 |
优化历史表处理 | 高效历史表管理机制,释放主数据库空间,提高查询速度,简化数据管理。 |
非运行流程归档 | 提供归档处理功能,减轻主数据库存储负担,提高系统响应速度和运行效率。 |
事件监听机制 | 强大的事件监听机制,支持自定义消息推送逻辑,实现与第三方应用的对接。 |
自定义消息推送 | 可在流程关键节点触发消息推送,自由定制消息内容,支持多种消息推送渠道。 |
简单的PHP工作流引擎调用示例
以下是一个简单的PHP示例,展示了如何使用配置好的组件对接Ingenious v2工作流引擎,实现启动流程实例的功能。
public function startProcess(IDict $args): array { try { // 加载配置(请根据实际需求进行配置) $config = [ 'service_dependencies' => [ // 引入自定义PHP实现类的对应配置 ], 'dynamic_dependencies' => [ // 动态依赖配置 ], 'extension_parameters' => [ // 扩展参数配置 ] ]; // 创建流程引擎实例 $engine = new ProcessEngines($config); // 启动并执行流程实例 $result = $engine->processInstanceService()->startAndExecute( $args->get(ProcessConstEnum::PROCESS_DEFINE_ID_KEY->value), $args ); // 返回结果 return [$result->getData($result->getPk())]; } catch (\Exception $e) { // 异常处理 return [$e->getMessage()]; } }
为了简化代码和提高可维护性,建议封装一个SDK来统一调用API。可以参考webman-wf插件的实现方式来进行封装。若使用内置的组件,请查阅对应组件文档以了解更多API调用详情。
链接
- 官网:https://www.madong.tech/
- 文档:http://flow-docs.madong.tech/
- gitee: https://gitee.com/ingenstream/ingenious
- 作品展示:http://antd-vben5-pro.madong.tech/(账号密码:admin/123456,注:展示项目基于Ingenious v2工作流引擎实现,非开源项目)
结语
每一次的进步与成长,都离不开您的支持与信任。我们诚挚邀请您深入探索Ingenious v2 工作流引擎的无限可能,并与我们一同见证PHP工作流管理领域的新纪元。您的每一次反馈,都是我们前进的动力;您的每一次成功,都是我们最大的荣耀。
还没有评论,来说两句吧...