AbstractDoctrineExtension
abstract class AbstractDoctrineExtension extends Extension
This abstract classes groups common code that Doctrine Object Manager extensions (ORM, MongoDB, CouchDB) need.
Properties
| protected | $aliasMap | Used inside metadata driver method to simplify aggregation of data. | |
| protected | $drivers | Used inside metadata driver method to simplify aggregation of data. |
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 |
| ConfigurationInterface|null | getConfiguration(array $config, ContainerBuilder $container) Returns extension configuration. | from Extension |
| processConfiguration(ConfigurationInterface $configuration, array $configs) | from Extension | |
| getProcessedConfigs() | from Extension | |
| bool | isConfigEnabled(ContainerBuilder $container, array $config) | from Extension |
| array | getAnnotatedClassesToCompile() Gets the annotated classes to cache. | from Extension |
| addAnnotatedClassesToCompile(array $annotatedClasses) Adds annotated classes to the class cache. | from Extension | |
| loadMappingInformation(array $objectManager, ContainerBuilder $container) | ||
| setMappingDriverAlias(array $mappingConfig, string $mappingName) Register the alias for this mapping driver. | ||
| setMappingDriverConfig(array $mappingConfig, string $mappingName) Register the mapping driver configuration for later use with the object managers metadata driver chain. | ||
| array|false | getMappingDriverBundleConfigDefaults(array $bundleConfig, ReflectionClass $bundle, ContainerBuilder $container) If this is a bundle controlled mapping all the missing information can be autodetected by this method. | |
| registerMappingDrivers(array $objectManager, ContainerBuilder $container) Register all the collected mapping information with the object manager by registering the appropriate mapping drivers. | ||
| assertValidMappingConfiguration(array $mappingConfig, string $objectManagerName) Assertion if the specified mapping information is valid. | ||
| string|null | detectMetadataDriver(string $dir, ContainerBuilder $container) Detects what metadata driver to use for the supplied directory. | |
| loadObjectManagerCacheDriver(array $objectManager, ContainerBuilder $container, string $cacheName) Loads a configured object manager metadata, query or result cache driver. | ||
| string | loadCacheDriver(string $cacheName, string $objectManagerName, array $cacheDriver, ContainerBuilder $container) Loads a cache driver. | |
| array | fixManagersAutoMappings(array $managerConfigs, array $bundles) Returns a modified version of $managerConfigs. | |
| string | getObjectManagerElementName(string $name) Prefixes the relative dependency injection container path with the object manager prefix. | |
| string | getMappingObjectDefaultName() Noun that describes the mapped objects such as Entity or Document. | |
| string | getMappingResourceConfigDirectory() Relative path from the bundle root to the directory where mapping files reside. | |
| string | getMappingResourceExtension() Extension used by the mapping files. |
Details
string getXsdValidationBasePath()
Returns the base path for the XSD files.
Return Value
| string | The XSD base path |
string getNamespace()
Returns the namespace to be used for this extension (XML namespace).
Return Value
| string | The XML namespace |
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 |
ConfigurationInterface|null getConfiguration(array $config, ContainerBuilder $container)
Returns extension configuration.
Parameters
| array | $config | |
| ContainerBuilder | $container |
Return Value
| ConfigurationInterface|null | The configuration or null |
final protected processConfiguration(ConfigurationInterface $configuration, array $configs)
Parameters
| ConfigurationInterface | $configuration | |
| array | $configs |
final getProcessedConfigs()
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 |
array getAnnotatedClassesToCompile()
Gets the annotated classes to cache.
Return Value
| array | An array of classes |
addAnnotatedClassesToCompile(array $annotatedClasses)
Adds annotated classes to the class cache.
Parameters
| array | $annotatedClasses | An array of class patterns |
protected loadMappingInformation(array $objectManager, ContainerBuilder $container)
Parameters
| array | $objectManager | A configured object manager |
| ContainerBuilder | $container | A ContainerBuilder instance |
Exceptions
| InvalidArgumentException |
protected setMappingDriverAlias(array $mappingConfig, string $mappingName)
Register the alias for this mapping driver.
Aliases can be used in the Query languages of all the Doctrine object managers to simplify writing tasks.
Parameters
| array | $mappingConfig | |
| string | $mappingName |
protected setMappingDriverConfig(array $mappingConfig, string $mappingName)
Register the mapping driver configuration for later use with the object managers metadata driver chain.
Parameters
| array | $mappingConfig | |
| string | $mappingName |
Exceptions
| InvalidArgumentException |
protected array|false getMappingDriverBundleConfigDefaults(array $bundleConfig, ReflectionClass $bundle, ContainerBuilder $container)
If this is a bundle controlled mapping all the missing information can be autodetected by this method.
Returns false when autodetection failed, an array of the completed information otherwise.
Parameters
| array | $bundleConfig | |
| ReflectionClass | $bundle | |
| ContainerBuilder | $container |
Return Value
| array|false |
protected registerMappingDrivers(array $objectManager, ContainerBuilder $container)
Register all the collected mapping information with the object manager by registering the appropriate mapping drivers.
Parameters
| array | $objectManager | |
| ContainerBuilder | $container | A ContainerBuilder instance |
protected assertValidMappingConfiguration(array $mappingConfig, string $objectManagerName)
Assertion if the specified mapping information is valid.
Parameters
| array | $mappingConfig | |
| string | $objectManagerName |
Exceptions
| InvalidArgumentException |
protected string|null detectMetadataDriver(string $dir, ContainerBuilder $container)
Detects what metadata driver to use for the supplied directory.
Parameters
| string | $dir | A directory path |
| ContainerBuilder | $container | A ContainerBuilder instance |
Return Value
| string|null | A metadata driver short name, if one can be detected |
protected loadObjectManagerCacheDriver(array $objectManager, ContainerBuilder $container, string $cacheName)
Loads a configured object manager metadata, query or result cache driver.
Parameters
| array | $objectManager | A configured object manager |
| ContainerBuilder | $container | A ContainerBuilder instance |
| string | $cacheName |
Exceptions
| InvalidArgumentException | in case of unknown driver type |
protected string loadCacheDriver(string $cacheName, string $objectManagerName, array $cacheDriver, ContainerBuilder $container)
Loads a cache driver.
Parameters
| string | $cacheName | The cache driver name |
| string | $objectManagerName | The object manager name |
| array | $cacheDriver | The cache driver mapping |
| ContainerBuilder | $container | The ContainerBuilder instance |
Return Value
| string |
Exceptions
| InvalidArgumentException |
protected array fixManagersAutoMappings(array $managerConfigs, array $bundles)
Returns a modified version of $managerConfigs.
The manager called $autoMappedManager will map all bundles that are not mapped by other managers.
Parameters
| array | $managerConfigs | |
| array | $bundles |
Return Value
| array | The modified version of $managerConfigs |
abstract protected string getObjectManagerElementName(string $name)
Prefixes the relative dependency injection container path with the object manager prefix.
Parameters
| string | $name |
Return Value
| string |
abstract protected string getMappingObjectDefaultName()
Noun that describes the mapped objects such as Entity or Document.
Will be used for autodetection of persistent objects directory.
Return Value
| string |
abstract protected string getMappingResourceConfigDirectory()
Relative path from the bundle root to the directory where mapping files reside.
Return Value
| string |
abstract protected string getMappingResourceExtension()
Extension used by the mapping files.
Return Value
| string |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.html