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)270↓91.1%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 yesterday

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 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

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

845d 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

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M10](/packages/renatomarinho-laravel-page-speed)[vinkius-labs/laravel-page-speed

Laravel Page Speed

2.5k12.5k1](/packages/vinkius-labs-laravel-page-speed)[emargareten/inertia-modal

Inertia Modal is a Laravel package that lets you implement backend-driven modal dialogs for Inertia apps.

90142.9k](/packages/emargareten-inertia-modal)[wearepixel/laravel-cart

A cart implementation for Laravel

1374.8k](/packages/wearepixel-laravel-cart)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

119.4k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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