softius / phlow
一个无框架的PHP库,用于构建和执行工作流
v0.4.0
2018-07-24 06:20 UTC
Requires
- php: ^7.1.3
- dusank/knapsack: ^10.0
- psr/log: ^1.0
- symfony/expression-language: ^4.1
Requires (Dev)
- phpunit/phpunit: ^6.5
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-09-14 04:59:22 UTC
README
Phlow是PHP的工作流建模器和引擎,深受BPMN 2.0和Apache Camel的启发。Phlow旨在为PHP项目提供库以设计和实现业务流程。它利用工作流的概念来模拟任何类型的过程,通过这个过程,一项工作从启动到完成。
可以使用PHP创建Phlow流程模型。不需要第三方工具来模拟和/或执行流程。
Phlow是一个无框架的解决方案。
功能
✅ 顺序流
✅ 条件流
✅ 错误处理
✅ 回调
✅ 条件布尔表达式
✅ PSR/3日志集成
✅ 执行路径回放
✅ 纯文本格式的流程模型
✅ 纯文本格式的执行路径
有关即将发布版本的更多信息,请参阅路线图。
入门
以下图像展示了一个简单的处理非工作灯泡的过程。一旦发现非工作灯泡,流程将评估灯泡是否已插入。如果没有,它将评估灯泡是否已烧坏。在任何情况下,都必须采取特定操作,即更换灯泡。
此外,以下代码展示了相同过程的模型。
$builder = new WorkflowBuilder(); $builder ->start() ->choice() ->when('isPluggedIn') ->callback() // Plug in lamp ->when('isBurnedOut') ->callback() // Replace lamp ->otherwise() ->callback() // Repair lamp ->endAll()
一旦构建了模型,就可以通过创建一个新实例来执行它。此时,可以传递一些可能在流程中提供的数据。数据可以是任何对象,也可以在流程中作为部分更新。
$workflow = $builder->getWorkflow(); $instance = new WorkflowInstance($workflow, $data); $instance->execute();
安装
可以通过执行以下composer命令将Phlow安装到您的PHP项目中。请注意,目前还没有稳定的版本。
$ composer require softius/phlow 0.4.0
文档
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件softius@gmail.com联系,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。