Resolver

The Streams Platform provides a powerful value handler pattern that let's you defer the value or something to a handler. The resolver service makes it easy to resolve the value from such handlers.

The resolver is usually used in other parts of the system so it's helpful to understand how it works even though you may not use it directly.

Introduction

This section will show you what a resolver is and how to use it.

Handlers

Handlers is a generic term for a class that handles the value for something.

Where a typical attribute in an array might look like:

$array = [
    'example' => 'Test',
];

A value handler might look like this:

$array = [
    'example' => 'Example\[email protected]',
];

A value can also define a self handling handler:

$array = [
    'example' => Example\TestHandler::class, // Assumes 'Example\[email protected]'
];

Basic Usage

To start resolving values in your class you need to include the \Anomaly\Streams\Platform\Support\Resolver class.

Resolver::resolve()

The resolve method recursively resolves values within the target value. The target is called through the Service Container and supports class and method injection.

Returns: mixed
Arguments
Key Required Type Default Description
$target true string none The value handler.
$arguments false array null The arguments to pass to the handler.
$options false array null Options for the resolver.
Example
$resolver->resolve('Example\[email protected]', compact('entry'));
Available Options
  • method - The handler method when no method is defined. Defaults to handle.