ConfigurableExtension
extends Extension
in package
This extension sub-class provides first-class integration with the Config/Definition Component.
You can use this as base class if
a) you use the Config/Definition component for configuration, b) your configuration class is named "Configuration", and c) the configuration class resides in the DependencyInjection sub-folder.
Tags
Table of Contents
- $annotatedClasses : mixed
- $processedConfigs : mixed
- addAnnotatedClassesToCompile() : mixed
- Adds annotated classes to the class cache.
- getAlias() : string
- Returns the recommended alias to use in XML.
- getAnnotatedClassesToCompile() : array<string|int, mixed>
- Gets the annotated classes to cache.
- getConfiguration() : ConfigurationInterface|null
- Returns extension configuration.
- getNamespace() : string
- Returns the namespace to be used for this extension (XML namespace).
- getXsdValidationBasePath() : string|false
- Returns the base path for the XSD files.
- load() : mixed
- {@inheritdoc}
- isConfigEnabled() : bool
- loadInternal() : mixed
- Configures the passed container according to the merged configuration.
- processConfiguration() : array<string|int, mixed>
Properties
$annotatedClasses
private
mixed
$annotatedClasses
= []
$processedConfigs
private
mixed
$processedConfigs
= []
Methods
addAnnotatedClassesToCompile()
Adds annotated classes to the class cache.
public
addAnnotatedClassesToCompile(array<string|int, mixed> $annotatedClasses) : mixed
Parameters
- $annotatedClasses : array<string|int, mixed>
-
An array of class patterns
Return values
mixed —getAlias()
Returns the recommended alias to use in XML.
public
getAlias() : string
This alias is also the mandatory prefix to use when using YAML.
This convention is to remove the "Extension" postfix from the class name and then lowercase and underscore the result. So:
AcmeHelloExtension
becomes
acme_hello
This can be overridden in a sub-class to specify the alias manually.
Tags
Return values
string —getAnnotatedClassesToCompile()
Gets the annotated classes to cache.
public
getAnnotatedClassesToCompile() : array<string|int, mixed>
Return values
array<string|int, mixed> —getConfiguration()
Returns extension configuration.
public
getConfiguration(array<string|int, mixed> $config, ContainerBuilder $container) : ConfigurationInterface|null
Parameters
- $config : array<string|int, mixed>
- $container : ContainerBuilder
Return values
ConfigurationInterface|null —getNamespace()
Returns the namespace to be used for this extension (XML namespace).
public
getNamespace() : string
Return values
string —getXsdValidationBasePath()
Returns the base path for the XSD files.
public
getXsdValidationBasePath() : string|false
Return values
string|false —load()
{@inheritdoc}
public
final load(array<string|int, mixed> $configs, ContainerBuilder $container) : mixed
Parameters
- $configs : array<string|int, mixed>
- $container : ContainerBuilder
Return values
mixed —isConfigEnabled()
protected
isConfigEnabled(ContainerBuilder $container, array<string|int, mixed> $config) : bool
Parameters
- $container : ContainerBuilder
- $config : array<string|int, mixed>
Tags
Return values
bool —loadInternal()
Configures the passed container according to the merged configuration.
protected
abstract loadInternal(array<string|int, mixed> $mergedConfig, ContainerBuilder $container) : mixed
Parameters
- $mergedConfig : array<string|int, mixed>
- $container : ContainerBuilder
Return values
mixed —processConfiguration()
protected
final processConfiguration(ConfigurationInterface $configuration, array<string|int, mixed> $configs) : array<string|int, mixed>
Parameters
- $configuration : ConfigurationInterface
- $configs : array<string|int, mixed>