class Pipeline implements Pipeline

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected Container|null $container

The container implementation.

protected mixed $passable

The object being passed through the pipeline.

protected array $pipes

The array of class pipes.

protected string $method

The method to call on each pipe.

protected Closure|null $finally

The final callback to be executed after the pipeline ends regardless of the outcome.

protected string|UnitEnum|false|null $withinTransaction

Indicates whether to wrap the pipeline in a database transaction.

Methods

mixed
when(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

mixed
unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

static void
macro(string $name, callable|object $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

__construct(Container|null $container = null)

Create a new class instance.

send(mixed $passable)

Set the object being sent through the pipeline.

through(mixed $pipes)

Set the array of pipes.

pipe(mixed $pipes)

Push additional pipes onto the pipeline.

via(string $method)

Set the method to call on the pipes.

mixed
then(Closure $destination)

Run the pipeline with a final destination callback.

mixed
thenReturn()

Run the pipeline and return the result.

finally(Closure $callback)

Set a final callback to be executed after the pipeline ends regardless of the outcome.

prepareDestination(Closure $destination)

Get the final piece of the Closure onion.

carry()

Get a Closure that represents a slice of the application onion.

array
parsePipeString(string $pipe)

Parse full pipe string to get name and parameters.

array
pipes()

Get the array of configured pipes.

withinTransaction(string|UnitEnum|false|null $withinTransaction = null)

Execute each pipeline step within a database transaction.

getContainer()

Get the container instance.

setContainer(Container $container)

Set the container instance.

mixed
handleCarry(mixed $carry)

Handle the value returned from each pipe before passing it to the next.

mixed
handleException(mixed $passable, Throwable $e)

Handle the given exception.

static void
flushState()

Flush all static state.

Details

in Conditionable at line 23
mixed when(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in Conditionable at line 56
mixed unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in Macroable at line 28
static void macro(string $name, callable|object $macro)

Register a custom macro.

Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 41
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 57
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 68
static void flushMacros()

Flush the existing macros.

Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 78
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 103
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 54
__construct(Container|null $container = null)

Create a new class instance.

Parameters

Container|null $container

at line 62
Pipeline send(mixed $passable)

Set the object being sent through the pipeline.

Parameters

mixed $passable

Return Value

Pipeline

at line 72
Pipeline through(mixed $pipes)

Set the array of pipes.

Parameters

mixed $pipes

Return Value

Pipeline

at line 82
Pipeline pipe(mixed $pipes)

Push additional pipes onto the pipeline.

Parameters

mixed $pipes

Return Value

Pipeline

at line 92
Pipeline via(string $method)

Set the method to call on the pipes.

Parameters

string $method

Return Value

Pipeline

at line 102
mixed then(Closure $destination)

Run the pipeline with a final destination callback.

Parameters

Closure $destination

Return Value

mixed

at line 124
mixed thenReturn()

Run the pipeline and return the result.

Return Value

mixed

at line 134
Pipeline finally(Closure $callback)

Set a final callback to be executed after the pipeline ends regardless of the outcome.

Parameters

Closure $callback

Return Value

Pipeline

at line 144
protected Closure prepareDestination(Closure $destination)

Get the final piece of the Closure onion.

Parameters

Closure $destination

Return Value

Closure

at line 158
protected Closure carry()

Get a Closure that represents a slice of the application onion.

Return Value

Closure

at line 200
protected array parsePipeString(string $pipe)

Parse full pipe string to get name and parameters.

Parameters

string $pipe

Return Value

array

at line 216
protected array pipes()

Get the array of configured pipes.

Return Value

array

at line 224
Pipeline withinTransaction(string|UnitEnum|false|null $withinTransaction = null)

Execute each pipeline step within a database transaction.

Parameters

string|UnitEnum|false|null $withinTransaction

Return Value

Pipeline

at line 234
protected Container getContainer()

Get the container instance.

Return Value

Container

at line 246
Pipeline setContainer(Container $container)

Set the container instance.

Parameters

Container $container

Return Value

Pipeline

at line 256
protected mixed handleCarry(mixed $carry)

Handle the value returned from each pipe before passing it to the next.

Parameters

mixed $carry

Return Value

mixed

at line 266
protected mixed handleException(mixed $passable, Throwable $e)

Handle the given exception.

Parameters

mixed $passable
Throwable $e

Return Value

mixed

Exceptions

Throwable

at line 274
static void flushState()

Flush all static state.

Return Value

void