Fr3nch13/CakePHP Utilities

ContextFactory
in package

Factory for getting form context instance based on provided data.

Table of Contents

Properties

$providers  : array<string, array<string|int, mixed>>
Context providers.

Methods

__construct()  : mixed
Constructor.
addProvider()  : $this
Add a new context type.
createWithDefaults()  : static
Create factory instance with providers "array", "form" and "orm".
get()  : ContextInterface
Find the matching context for the data.

Properties

$providers

Context providers.

protected array<string, array<string|int, mixed>> $providers = []

Methods

__construct()

Constructor.

public __construct([array<string|int, mixed> $providers = [] ]) : mixed
Parameters
$providers : array<string|int, mixed> = []

Array of provider callables. Each element should be of form ['type' => 'a-string', 'callable' => ..]

addProvider()

Add a new context type.

public addProvider(string $type, callable $check) : $this

Form context types allow FormHelper to interact with data providers that come from outside CakePHP. For example if you wanted to use an alternative ORM like Doctrine you could create and connect a new context class to allow FormHelper to read metadata from doctrine.

Parameters
$type : string

The type of context. This key can be used to overwrite existing providers.

$check : callable

A callable that returns an object when the form context is the correct type.

Return values
$this

createWithDefaults()

Create factory instance with providers "array", "form" and "orm".

public static createWithDefaults([array<string|int, mixed> $providers = [] ]) : static
Parameters
$providers : array<string|int, mixed> = []

Array of provider callables. Each element should be of form ['type' => 'a-string', 'callable' => ..]

Return values
static

get()

Find the matching context for the data.

public get(ServerRequest $request[, array<string, mixed> $data = [] ]) : ContextInterface

If no type can be matched a NullContext will be returned.

Parameters
$request : ServerRequest

Request instance.

$data : array<string, mixed> = []

The data to get a context provider for.

Tags
throws
RuntimeException

When a context instance cannot be generated for given entity.

Return values
ContextInterface

Context provider.


        
On this page

Search results