Laravel Packages

Supercharged pipelines for Laravel

Published
Supercharged pipelines for Laravel image

The chefhasteeth/pipeline package for Laravel adds a few unique features to the built-in pipeline functionality. For example, this package has a withTransaction() method, which will run this pipeline within a database transaction and automatically commit (or roll back) depending on if the pipeline succeeded:

use Chefhasteeth\Pipeline\Pipeline;
 
 
// i.e., controller method
public function store(StoreRegistrationRequest $request)
{
return Pipeline::make()
->withTransaction()
->send($request->all())
->through([
RegisterUser::class,
AddMemberToTeam::class,
SendWelcomeEmail::class,
])
->then(fn ($data) => UserResource::make($data));
}

Next, this package also has a Pipable trait that you could implement on a data object or class:

use Chefhasteeth\Pipeline\Pipable;
 
class UserDataObject
{
use Pipable;
 
public string $name;
public string $email;
public string $password;
// ...
}
 
// Run the pipeline
return UserDataObject::fromRequest($request)
->pipeThrough([
RegisterUser::class,
AddMemberToTeam::class,
SendWelcomeEmail::class,
])
->then(fn ($data) => UserResource::make($data));

You can learn about this package, get full installation instructions, and view the source code on GitHub. If you'd like to learn more about pipelines in Laravel, Jeff Ochoa wrote Understanding Laravel Pipelines, which is an excellent resource.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article