PHPackages                             millancore/pipeline-iterator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. millancore/pipeline-iterator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

millancore/pipeline-iterator
============================

Pipeline Iterator Filter

1.0.2(1y ago)1126MITPHPPHP ^8.2

Since Nov 22Pushed 1y ago2 watchersCompare

[ Source](https://github.com/millancore/pipeline-iterator)[ Packagist](https://packagist.org/packages/millancore/pipeline-iterator)[ RSS](/packages/millancore-pipeline-iterator/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (3)Versions (4)Used By (0)

Pipeline Iterator Filter
========================

[](#pipeline-iterator-filter)

`PipelineFilterIterator` library provides a flexible and powerful way to filter and manipulate [PHP Iterators](https://www.php.net/manual/en/spl.iterators.php)using a pipeline-based approach. It allows developers to apply multiple filters sequentially in a clean and readable manner.

You can use SPL filters like `CallbackFilterIterator`, `RegexIterator` or create your own filter by extending the [FilterIterator](https://www.php.net/manual/en/class.filteriterator.php) in simple way.

```
class EvenFilter extends FilterIterator
{
    public function accept(): bool
    {
        return $this->current() % 2 === 0;
    }
}
```

Installation
------------

[](#installation)

```
composer require millancore/pipeline-iterator
```

Usage
-----

[](#usage)

```
use Millancore\PipelineIterator\PipelineFilterIterator;

$arrayData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

/**
* Use with Iterator
* $iterator = PipelineFilterIterator::create(new ArrayIterator($arrayData))
*/

// Use with Array directly
$iterator = PipelineFilterIterator::createFromArray($arrayData)
    ->filter(EvenFilter::class)
    ->filter(CallbackFilterIterator::class, fn($value) => $value > 3)
    ->filter(RangeFilter::class, 5, 10);

foreach ($iterator as $value) {
    echo $value; // Output: 6, 8, 10
}
```

Filters with arguments
----------------------

[](#filters-with-arguments)

The first arguments MUST BE Iterator

```
class RangeFilter extends FilterIterator
{
    public function __construct(
        Iterator             $iterator,
        private readonly int $start,
        private readonly int $end
    ) {
        parent::__construct($iterator);
    }

    public function accept(): bool
    {
        return $this->current() >= $this->start && $this->current() end;
    }
}
```

Examples
--------

[](#examples)

[Filter CSV File using Generator](https://github.com/millancore/pipeline-iterator/wiki/Filter-CSV-File-using-Generator)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

537d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a75dcd81f1d238107892ce2d9065d971e3add2238f3bb33c83adf0657b967159?d=identicon)[millancore](/maintainers/millancore)

---

Top Contributors

[![millancore](https://avatars.githubusercontent.com/u/1243194?v=4)](https://github.com/millancore "millancore (6 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/millancore-pipeline-iterator/health.svg)

```
[![Health](https://phpackages.com/badges/millancore-pipeline-iterator/health.svg)](https://phpackages.com/packages/millancore-pipeline-iterator)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
