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

ActiveLibrary

alexmanno/pipeline-remix
========================

Reinvented pipelines for PHP

0.0.2(8y ago)37MITPHPPHP ^7.1

Since Nov 26Pushed 8y ago1 watchersCompare

[ Source](https://github.com/alexmanno/pipeline-remix)[ Packagist](https://packagist.org/packages/alexmanno/pipeline-remix)[ Docs](http://github.com/alexmanno/pipeline-remix)[ RSS](/packages/alexmanno-pipeline-remix/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (3)Used By (0)

pipeline-remix
==============

[](#pipeline-remix)

Reinvented pipelines for PHP

[![Latest Stable Version](https://camo.githubusercontent.com/feba4f2632d8b64d7415315edd02fc310dc8c0c66d84f0099da5a31e0be64ea0/68747470733a2f2f706f7365722e707567782e6f72672f616c65786d616e6e6f2f706970656c696e652d72656d69782f76657273696f6e)](https://packagist.org/packages/alexmanno/pipeline-remix)[![Latest Unstable Version](https://camo.githubusercontent.com/33456439f018f6919ab16571ac66940f19186efbca7ba92671dade449c98dcfd/68747470733a2f2f706f7365722e707567782e6f72672f616c65786d616e6e6f2f706970656c696e652d72656d69782f762f756e737461626c65)](//packagist.org/packages/alexmanno/pipeline-remix)[![GitHub license](https://camo.githubusercontent.com/ff84395e8f84f7ed241c8f503745b708044c651efb7d313604b7216eb8659cb6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c65786d616e6e6f2f706970656c696e652d72656d69782e737667)](https://github.com/alexmanno/pipeline-remix/blob/master/LICENSE.md)[![composer.lock available](https://camo.githubusercontent.com/5b5e378d07a1263880e8280559bcba7a6a939fe7c57525412fffba5abc36932c/68747470733a2f2f706f7365722e707567782e6f72672f616c65786d616e6e6f2f706970656c696e652d72656d69782f636f6d706f7365726c6f636b)](https://packagist.org/packages/alexmanno/pipeline-remix)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/501ada2893d328cf3f9f6742e63a7bf8810732a77d1a3ea7b2c7ce7b8fafd6db/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616c65786d616e6e6f2f706970656c696e652d72656d69782f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/alexmanno/pipeline-remix/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/815f9d8b07a910abc00f8a6bdd3e24db59d92f0a268ce126bcb6c6e72d48324f/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616c65786d616e6e6f2f706970656c696e652d72656d69782f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/alexmanno/pipeline-remix/?branch=master)[![Build Status](https://camo.githubusercontent.com/8a61e196184a6227a74b1eb3393059e4c31885755413018c2e8aadd0f284d771/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616c65786d616e6e6f2f706970656c696e652d72656d69782f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/alexmanno/pipeline-remix/build-status/master)

What's a Pipeline
-----------------

[](#whats-a-pipeline)

A pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next one.

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

[](#installation)

### From Composer

[](#from-composer)

To use this package, use Composer:

- from CLI: `composer require alexmanno/pipeline-remix`
- or, directly in your `composer.json`:

```
{
    "require": {
        "alexmanno/pipeline-remix": "dev-master"
    }
}
```

Architecture
------------

[](#architecture)

### Pipeline

[](#pipeline)

A Pipeline is a simple SplQueue of Stage.

You can initialize it in this way: `$pipeline = new AlexManno\Remix\Pipelines\Pipeline();`

You can add Stage to Pipeline using `$pipeline->pipe($stage)`

### Stage

[](#stage)

A Stage is an object that implements `AlexManno\Remix\Pipelines\Interfaces\StageInterface` and has an `__invoke()` method.

This object is the smallest part of the pipeline and it should be a single operation.

You can create a class that implements that interface.

Ex.

```
 class MyCoolStage implements AlexManno\Remix\Pipelines\Interfaces\StageInterface
 {
    /**
     * @param Payload $payload
     */
    public function __invoke(Payload $payload)
    {
        $payload->setData('Hello!');

        return $payload;
    }
}
```

### Payload

[](#payload)

Payload is an object that implements `PayloadInterface` and can store any kind of data. For example in a web application it can store `Request` and `Response`.

Ex.

```
class Payload implements AlexManno\Remix\Pipelines\Interfaces\PayloadInterface
{
    /** @var RequestInterface */
    public $request;
    /** @var ResponseInterface */
    public $response;
}
```

Compose and run your pipeline
-----------------------------

[](#compose-and-run-your-pipeline)

If you have already initialized Payload object and Stages objects you can compose your pipeline.

Ex.

```
// -- Initialized objects: $payload, $pipeline, $stage1, $stage2 --

$pipeline
    ->pipe($stage1) // Add $stage1 to queue
    ->pipe($stage2); // Add $stage2 to queue

$pipeline($payload);  // Run pipeline: invoke $stage1 and then $stage2 with payload from $stage1
```

You can also compose two or more pipelines together using method `add()`

Ex.

```
// -- Initialized objects: $payload, $pipeline1, $pipeline2, $stage1, $stage2 --

$pipeline1->pipe($stage1); // Add $stage1 to $pipeline1
$pipeline2->pipe($stage2); // Add $stage2 to $pipeline2

$pipeline1->add($pipeline2); // Add stages from $pipeline2

$payload = $pipeline1($payload); // Run pipeline: invoke $stage1 (from $pipeline1) and then $stage2 (from $pipeline2) with payload from $stage1
```

Examples
--------

[](#examples)

- Using Classes [Example-00](examples/example-00.php)

Conclusion
----------

[](#conclusion)

I hope you found useful this repo. Thanks for attention.

Made with ❤️ by [@alexmanno](https://aka.am)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 91.7% 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 ~0 days

Total

2

Last Release

3089d ago

### Community

Maintainers

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

---

Top Contributors

[![alexmanno](https://avatars.githubusercontent.com/u/10499850?v=4)](https://github.com/alexmanno "alexmanno (22 commits)")[![damianopetrungaro](https://avatars.githubusercontent.com/u/8950503?v=4)](https://github.com/damianopetrungaro "damianopetrungaro (2 commits)")

---

Tags

oopphp7php71php72pipelinesstagestate

### Embed Badge

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

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

###  Alternatives

[league/uri-interfaces

Common tools for parsing and resolving RFC3987/RFC3986 URI

538204.9M23](/packages/league-uri-interfaces)[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k21](/packages/neuron-core-neuron-ai)[simplesamlphp/saml2

SAML2 PHP library from SimpleSAMLphp

30317.2M40](/packages/simplesamlphp-saml2)[php-heroku-client/php-heroku-client

A PHP client for the Heroku Platform API

24404.8k4](/packages/php-heroku-client-php-heroku-client)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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