PHPackages                             henzeb/laravel-pipeline-factory - 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. henzeb/laravel-pipeline-factory

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

henzeb/laravel-pipeline-factory
===============================

Compose complex pipelines

v1.5.0(2y ago)255↓50%AGPL-3.0-onlyPHPPHP ^8.1

Since May 15Pushed 2y ago1 watchersCompare

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

READMEChangelog (6)Dependencies (6)Versions (7)Used By (0)

Laravel Pipeline Factory
========================

[](#laravel-pipeline-factory)

[![Build Status](https://github.com/henzeb/laravel-pipeline-factory/workflows/tests/badge.svg)](https://github.com/henzeb/laravel-pipeline-factory/actions)[![Latest Version on Packagist](https://camo.githubusercontent.com/f0630c538e33992ce819b11bc4adde6181b7c2481edef596000e27d150155856/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f68656e7a65622f6c61726176656c2d706970656c696e652d666163746f72792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/henzeb/laravel-pipeline-factory)[![Total Downloads](https://camo.githubusercontent.com/51b4b6625f37cbdb08b656363cd6f14f066105034687a0dfcba6255cec176e9d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f68656e7a65622f6c61726176656c2d706970656c696e652d666163746f72792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/henzeb/laravel-pipeline-factory)[![Test Coverage](https://camo.githubusercontent.com/260eec5f3273d6b3543689c02f592ae2a158bfbbdcd554d0bdc677cf2b81c865/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f37323133316530373065356564316161346236612f746573745f636f766572616765)](https://codeclimate.com/github/henzeb/laravel-pipeline-factory/test_coverage)[![License](https://camo.githubusercontent.com/69f869e80ac433a4dac6b5fd8d1affd26847fe67a13290c8845f9400122b0df5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f68656e7a65622f6c61726176656c2d706970656c696e652d666163746f7279)](https://packagist.org/packages/henzeb/laravel-pipeline-factory)

Laravel has a convenient Pipeline to be used to separate the logic in a way that allows modifying an object and allows for easy interchangeable components.

Laravel Pipeline Factory takes it a step further and gives you a couple of 'pipes' to help you build a more complex pipeline.

Example
-------

[](#example)

```
use Illuminate\Support\Facades\Pipeline;
use Henzeb\Pipeline\Facades\Pipe;
use App\Models\User;

$user = User::find(1);

Pipeline::send($user)
        ->through(
            Pipe::events(
                Pipe::unless(
                    UserEnteredPasswordTwice::class,
                    ReturnInvalidRequestResponse::class
                )->else(
                    Pipe::rescue(
                        Pipe::transaction(
                            [
                                UpdateUser::class,
                                UpdateAddress::class
                            ]
                        ),
                        ReturnFailureResponse::class,
                    )
                ),
                'updateUserDetails'
            )
        )
```

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

[](#installation)

Just install with the following command.

```
composer require henzeb/laravel-pipeline-factory
```

usage
-----

[](#usage)

Every pipe included in this package is invokable. This means you don't have to stick with `handle` as it's `via` method.

The following pipes are available:

- [The Adapter Pipe](docs/adapter.md)
- [The Conditional Pipe](docs/conditional.md)
- [The Contextless Pipe](docs/contextless.md)
- [The Definition Pipe](docs/definition.md)
- [The Each Pipe](docs/each.md)
- [The Events Pipe](docs/events.md)
- [The Job Pipe](docs/job.md)
- [The Queue Pipe](docs/queue.md)
- [The Rescue Pipe](docs/rescue.md)
- [The Resolving Pipe](docs/resolving.md)
- [The Throw Pipe](docs/throw.md)
- [The Transaction Pipe](docs/transaction.md)
- [The While / Until Pipe](docs/while.md)

Testing this package
--------------------

[](#testing-this-package)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Henze Berkheij](https://github.com/henzeb)

License
-------

[](#license)

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

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

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 ~60 days

Recently: every ~74 days

Total

6

Last Release

792d ago

PHP version history (2 changes)v1.0.0PHP ^8.0

v1.5.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15928532?v=4)[henzeb](/maintainers/henzeb)[@henzeb](https://github.com/henzeb)

---

Top Contributors

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

---

Tags

middlewarelaravelpipelinespipelinehenzebpipes

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/henzeb-laravel-pipeline-factory/health.svg)

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

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[timacdonald/has-parameters

A trait that allows you to pass arguments to Laravel middleware in a more PHP'ish way.

228271.7k2](/packages/timacdonald-has-parameters)[yemenifree/laravel-arabic-numbers-middleware

auto transforms arabic/eastern to eastern/arabic numbers for i.e ١٢٣٤٥٦٧٨ to 12345678

18135.4k](/packages/yemenifree-laravel-arabic-numbers-middleware)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)[fisharebest/laravel-assets

Asset management for Laravel

208.1k](/packages/fisharebest-laravel-assets)[efficiently/jquery-laravel

This package provides jQuery and the jQuery-ujs driver for your Laravel &gt;= 6 application.

1311.0k1](/packages/efficiently-jquery-laravel)

PHPackages © 2026

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