abstract class ConfigurableExtension extends Extension

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.

Methods

string
getXsdValidationBasePath()

Returns the base path for the XSD files.

from Extension
string
getNamespace()

Returns the namespace to be used for this extension (XML namespace).

from Extension
string
getAlias()

Returns the recommended alias to use in XML.

from Extension
getConfiguration(array $config, ContainerBuilder $container)

Returns extension configuration.

from Extension
processConfiguration(ConfigurationInterface $configuration, array $configs)

No description

from Extension
bool
isConfigEnabled(ContainerBuilder $container, array $config)

No description

from Extension
array
getClassesToCompile()

Gets the classes to cache.

from Extension
addClassesToCompile(array $classes)

Adds classes to the class cache.

from Extension
load(array $configs, ContainerBuilder $container)

Loads a specific configuration.

loadInternal(array $mergedConfig, ContainerBuilder $container)

Configures the passed container according to the merged configuration.

Details

in Extension at line 32
string getXsdValidationBasePath()

Returns the base path for the XSD files.

Return Value

string The XSD base path

in Extension at line 40
string getNamespace()

Returns the namespace to be used for this extension (XML namespace).

Return Value

string The XML namespace

in Extension at line 65
string getAlias()

Returns the recommended alias to use in XML.

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.

Return Value

string The alias

Exceptions

BadMethodCallException When the extension name does not follow conventions

in Extension at line 79
ConfigurationInterface|null getConfiguration(array $config, ContainerBuilder $container)

Returns extension configuration.

Parameters

array $config
ContainerBuilder $container

Return Value

ConfigurationInterface|null The configuration or null

in Extension at line 95
final protected processConfiguration(ConfigurationInterface $configuration, array $configs)

Parameters

ConfigurationInterface $configuration
array $configs

in Extension at line 107
protected bool isConfigEnabled(ContainerBuilder $container, array $config)

Parameters

ContainerBuilder $container
array $config

Return Value

bool Whether the configuration is enabled

Exceptions

InvalidArgumentException When the config is not enableable

in Extension at line 30
array getClassesToCompile()

Gets the classes to cache.

Return Value

array An array of classes

in Extension at line 40
addClassesToCompile(array $classes)

Adds classes to the class cache.

Parameters

array $classes An array of classes

at line 33
final load(array $configs, ContainerBuilder $container)

Loads a specific configuration.

Parameters

array $configs
ContainerBuilder $container

Exceptions

InvalidArgumentException When provided tag is not defined in this extension

at line 41
abstract protected loadInternal(array $mergedConfig, ContainerBuilder $container)

Configures the passed container according to the merged configuration.

Parameters

array $mergedConfig
ContainerBuilder $container