moirei / pipeline
简单的 Laravel 管道库。
0.2.0
2022-12-17 03:06 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^7|^8|^9
- illuminate/support: ^7|^8|^9
- laravel/helpers: ^1.5
Requires (Dev)
- illuminate/contracts: ^7|^8|^9
- laravel/pint: ^1.2
- orchestra/testbench: ^7.5
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.2
- phpunit/phpunit: ^9.5
- spatie/invade: ^1.1
- thled/pest-plugin-shorthands: ^1.1
This package is auto-updated.
Last update: 2024-09-23 09:24:45 UTC
README
在众多管道包中,包括 Laravel 自家的包 illuminate/pipeline,你可能需要一个更适合复杂操作的解决方案。
此包旨在进行数据处理,不应替代操作或任务。这里的管道概念是一系列按照顺序发生的微任务集合,以从单一输入生成单一输出。
文档
所有文档均可在 文档网站 找到。
功能
- 实用操作符
- 管道上下文
- 使用闭包、处理器类或上下文方法
示例
如果你习惯了 RxJs,你可能会欣赏下面的示例。实际上,管道可以做任何事情。
$value = Pipeline::with(0)->pipe([ Pipeline::switch([ fn ($v) => $v + 1, fn ($v) => $v + 2, fn ($v) => $v + 3, ]), Pipeline::map( fn ($v) => $v * 2, ), Pipeline::tap(function (array $value) { // do whatever }), ]); // returns [2, 4, 6]
查看 原理 了解更令人兴奋的示例。
安装
composer require moirei/pipeline
测试
composer test