Download the PHP package zaengle/pipeline without Composer

On this page you can find all versions of the php package zaengle/pipeline. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pipeline

Tests Latest Version on Packagist Total Downloads

Zaengle Pipeline

After using Laravel Pipelines to handle complex data flows in our projects we saw a few patterns emerge:

This package adds niceties on top of the Laravel Pipeline and consolidates them into a single reusable location.

FYI - See the "Example" directory for a more thorough example.

Installation

composer require zaengle/pipeline

Testing

phpunit

Basic Class Example

A pipeline is a common pattern for breaking data, logic, and response/exceptions into three distinct elements. Zaengle Pipeline abstracts these parts into helpful classes and gives some structure to the underlying pattern. For example, let's explore at what a pipeline might look like for a ficticious user registration:

Breaking it Down

Create a Traveler

The first step in using the Zaengle Pipeline is to create a Data Traveler class. Note: The setRequest() method is contrived for this example.

Zaengle\Pipeline\Contracts\AbstractTraveler provides additional methods utilized in the Zaengle\Pipeline\Pipeline class.

Within the $traveler you may set any data required and it will be available within any of the pipes.

Pipes

Separate your business logic into appropriate "pipes," each of which should implement the Zaengle\Pipeline\Contracts\PipeInterface.

Primary Pipeline

Once you have your data and pipes established, send them through the Zaengle\Pipeline\Pipeline ->pipe() method.

pipe() accepts three parameters, two of which are required. The first parameter should be your $traveler, the second is your array of pipes, and the third, optional parameter tells Pipeline whether to use transactions or not.

Results

After sending the $traveler through the data pipes you will have access to a ->passed() method which indicates whether the pipeline completed successfully or not.

AbstractTraveler grants you access to the following convenience methods:

$response->passed()

A boolean to indicate whether the traveler made it all the way through the pipes without any exceptions.

$response->getStatus()

A string you can set with ->setStatus() or will automatically be either 'ok' or 'fail'.

$response->getException()

To abort the process you may throw an exception which Pipeline will capture on the response. It will also set the status and message giving you access to $response->getMessage().

$response->setMessage()

A $message property will automatically be set in the case of an exception. Otherwise, you can set it at any point during the pipeline execution.

$response->getMessage()

A string that is available upon the completion of the pipeline.

Testing Strategy

When testing a pipeline you should test the overall pipeline to make sure the given input matches the expected output.

You may also want to test individual pipes like this:

License

The MIT License (MIT). Please see License File for more information.

Credits


All versions of pipeline with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1|^8.2|^8.3
illuminate/support Version 8.*|9.*|10.*|11.*
illuminate/console Version 8.*|9.*|10.*|11.*
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package zaengle/pipeline contains the following files

Loading the files please wait ....