interface ContainerDeriverInterface implements DeriverInterface (View source)

Provides additional plugin definitions based on an existing definition using service injection.

Methods

array
getDerivativeDefinition(string $derivative_id, array|PluginDefinitionInterface $base_plugin_definition)

Gets the definition of a derivative plugin.

array
getDerivativeDefinitions(array $base_plugin_definition)

Gets the definition of all derivatives of a base plugin.

create(ContainerInterface $container, string $base_plugin_id)

Creates a new class instance.

Details

array getDerivativeDefinition(string $derivative_id, array|PluginDefinitionInterface $base_plugin_definition)

Gets the definition of a derivative plugin.

Parameters

string $derivative_id

The derivative id. The id must uniquely identify the derivative within a given base plugin, but derivative ids can be reused across base plugins.

array|PluginDefinitionInterface $base_plugin_definition

The definition of the base plugin from which the derivative plugin is derived. It is maybe an entire object or just some array, depending on the discovery mechanism.

Return Value

array

The full definition array of the derivative plugin, typically a merge of $base_plugin_definition with extra derivative-specific information. NULL if the derivative doesn't exist.

array getDerivativeDefinitions(array $base_plugin_definition)

Gets the definition of all derivatives of a base plugin.

Parameters

array $base_plugin_definition

The definition array of the base plugin.

Return Value

array

An array of full derivative definitions keyed on derivative id.

See also

getDerivativeDefinition()

static ContainerDeriverInterface create(ContainerInterface $container, string $base_plugin_id)

Creates a new class instance.

Parameters

ContainerInterface $container

The container to pull out services used in the fetcher.

string $base_plugin_id

The base plugin ID for the plugin ID.

Return Value

ContainerDeriverInterface

Returns an instance of this fetcher.