clavius / forkpipes
v0.9
2024-02-28 12:51 UTC
Requires (Dev)
- fakerphp/faker: ^1.21
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-09-26 14:04:28 UTC
README
此软件包的作用
- 该库旨在支持我所提出的 forkpipes 设计模式
- 版本 1.0
当需要将数据处理分成几个流,在后续的处理步骤再将它们分成更多流,具有任意嵌套,然后组合这些数据流时,使用此模式。您可以根据任意分组方式或 - 简单地 - 根据初始划分来组合它们。
安装
- 安装包:composer require clavius/forkpipes
- 配置:无需配置
- 依赖项:开发和测试 - phpunit, faker
- 数据库 - 不需要
- 测试:php.exe vendor/phpunit/phpunit/phpunit --no-configuration tests
使用
- 编写具有数据处理函数的类 - 转换器
- 每个转换器都实现了 PipeConverter 接口
- 接受和返回数组格式的数据
- 数组元素可以是任何类型
- 创建一个继承自 Clavius\Pipes\Exec\Pipeline 的类,并在其中组装处理转换器的管道
- 该类必须实现 addConverters 方法
- 方法中定义了管道步骤
- 步骤可以是转换器、组合器或过滤器
- 组合器简单地组合之前步骤收集的数据,过滤器选择部分数据供下一步使用
- 创建管道的示例 - \Clavius\Pipes\Pipelines\TextDullPipeline
- 创建一个用于中间存储处理结果的存储库,该存储库将由管道类使用
- 创建管道类对象(带有存储库)并使用此对象调用 addConverters 和 do 方法
- 请参阅 \Clavius\Pipes\Tests\PipesTest 测试中的示例
联系方式
- 项目负责人是 Sergey Pavlov(clavius@gmail.com )