webbhuset/pipeline

数据操作函数库。

v2022.10.18.0 2022-10-18 12:20 UTC

This package is auto-updated.

Last update: 2024-09-18 16:08:58 UTC


README

Documentation Status License: MIT

Pipeline 是一个用于构建可重用值操作函数的 PHP 库。每个 Pipeline 函数都是一个实现了 __invoke() 的类,因此允许实例作为函数运行。每个函数接受一个可遍历对象作为输入,并返回一个生成器。

文档

文档可在 ReadTheDocs 上找到。

示例

<?php

use Webbhuset\Pipeline\Constructor as F;

$fun = F::Compose([
    F::Map('trim'),
    F::Filter('is_numeric'),
    F::Map('intval'),
    F::Drop(2),
    F::Multiplex(
        function ($value) {
            return $value % 10 == 0 ? 'divide' : 'double';
        },
        [
            'divide' => F::Map(function ($value) {
                return $value / 10;
            }),
            'double' => F::Map(function ($value) {
                return $value * 2;
            }),
        ]
    )
]);

$input = [
    1,
    '  23 ',
    'hello',
    '4.444',
    5.75,
    '+12e3'
];

echo json_encode(iterator_to_array($fun($input)));

// Output: [8,10,1200]