PHPackages                             solidworx/piper - 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. solidworx/piper

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

solidworx/piper
===============

Pipeline workflow for PHP

5161PHP

Since Jan 26Pushed 9y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Piper
=====

[](#piper)

[![Build Status](https://camo.githubusercontent.com/3b880dd182b2ae4b96e43399fc2a43612e4b231c48c3b4c2d7ad18d640079fcf/68747470733a2f2f7472617669732d63692e6f72672f536f6c6964576f72782f50697065722e737667)](https://travis-ci.org/SolidWorx/Piper)

Piper is pipeline process library or PHP. It allows you to pipe several processes to be executed in sequence.

Table of Contents
-----------------

[](#table-of-contents)

- [Requirements](#requirements)
- [Installation](#installation)
    - [Composer](#composer)
- [Usage](#usage)
    - [Config](#config)
    - [Basic usage](#basec-usage)
    - [Passing information between processes](#passing-information-between-processes)
    - [Start a process with initial data](#start-a-process-with-initial-data)
    - [Rolling back changes](#rolling-back-changes)
    - [Using callables](#using-callables)
    - \[Ignoring Errors\](#Ignoring Errors)
- [Testing](#testing)
- [Contributing](#contributing)
- [Licence](#licence)

Requirements
------------

[](#requirements)

Piper requires PHP 7.1+

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

[](#installation)

### Composer

[](#composer)

```
$ composer require solidworx/piper:^2.0
```

Usage
-----

[](#usage)

### Basic usage

[](#basic-usage)

Imagine you have an E-Commerce site, where users can buy items online. When a user places an order, there are several things that needs to happen, E.G place the order, send a order confirmation email to the user, send an order notice to the site admin, create a shipping label etc.

All these processes can be piped together to be executed sequentially.

```
