PHPackages                             timatanga/pipeline - 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. timatanga/pipeline

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

timatanga/pipeline
==================

The timatanga Pipeline package

v0.1.0(4y ago)03MITPHP

Since Sep 26Pushed 4y ago1 watchersCompare

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

READMEChangelogDependencies (2)Versions (2)Used By (0)

Pipeline
========

[](#pipeline)

A pipeline consists of a chain of processing elements, arranged so that the output of each element is the input of the next. The Pipeline package provides an easy to use, fluent interface to process an object (can be of any type) through a series of pipes (callables).

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

[](#installation)

composer require timatanga/pipeline

Usage
-----

[](#usage)

The most basic option to create a pipeline instance does not require any arguments;

```
use timatanga\Pipeline\Pipeline;

$pipeline = new Pipeline;

```

Having an instance of a pipeline class you can fluently add further steps

```
$result = $pipeline->send($object)->through($pipes)->process();

```

An object can be of any type as you like. Please take notice that the chain of pipes must be able to handle objects type, else a RuntimeException will be thrown. The argument of the through method accepts an array of callables. An object is always callable if it implements the magic invoke method, and that method is visible in the current scope. A class name is callable if it implements the callStatic method. A function on the other hand is always handled as callable.

Example
-------

[](#example)

Trim and replace string through a pipeline

```
use timatanga\Pipeline\Pipeline;

$object = ' Foo bar ';
$fn_a = function($arg) { return trim($arg); };
$fn_b = function($arg) { return str_replace('Foo', 'foo', $arg); };
$fn_c = function($arg) { return str_replace('bar', 'foo', $arg); };

$result = (new Pipeline())->send($object)->through([$fn_a, $fn_b, $fn_c])->process();

// results in 'foo foo'

```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

1689d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9e85d042af6c9730c747e158b2b03e6876ebc03b3d2bdf5e3fe5e55fe4f6e6b2?d=identicon)[dbizapps](/maintainers/dbizapps)

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[spatie/tax-calculator

A set of interfaces and methods to clean up your application's tax calculations

8036.2k](/packages/spatie-tax-calculator)

PHPackages © 2026

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