PHP Class Symfony\Component\DependencyInjection\ContainerBuilder

Author: Fabien Potencier ([email protected])
Inheritance: extends Symfony\Component\DependencyInjection\Container, implements Symfony\Component\DependencyInjection\TaggedContainerInterface
Afficher le fichier Open project: symfony/symfony Class Usage Examples

Méthodes publiques

Méthode Description
addAliases ( array $aliases ) Adds the service aliases.
addClassResource ( ReflectionClass $class ) : ContainerBuilder Adds the given class hierarchy as resources.
addCompilerPass ( Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface $pass, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION ) : ContainerBuilder Adds a compiler pass.
addDefinitions ( array $definitions ) Adds the service definitions.
addExpressionLanguageProvider ( Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface $provider )
addObjectResource ( object $object ) : ContainerBuilder Adds the object class hierarchy as resources.
addResource ( Symfony\Component\Config\Resource\ResourceInterface $resource ) : ContainerBuilder Adds a resource for this configuration.
autowire ( string $id, null | string $class = null ) : Definition Registers an autowired service definition.
compile ( ) Compiles the container.
findDefinition ( string $id ) : Definition Gets a service definition by id or alias.
findTaggedServiceIds ( string $name ) : array Returns service ids for a given tag.
findTags ( ) : array Returns all tags the defined services use.
findUnusedTags ( ) : string[] Returns all tags not queried by findTaggedServiceIds.
get ( string $id, integer $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE ) : object Gets a service.
getAlias ( string $id ) : Alias Gets an alias.
getAliases ( ) : Alias[] Gets all defined aliases.
getCompiler ( ) : Compiler Returns the compiler.
getCompilerPassConfig ( ) : PassConfig Returns the compiler pass config which can then be modified.
getDefinition ( string $id ) : Definition Gets a service definition.
getDefinitions ( ) : Definition[] Gets all service definitions.
getEnvCounters ( ) : int[] Get statistics about env usage.
getExpressionLanguageProviders ( ) : Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface[]
getExtension ( string $name ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface Returns an extension by alias or namespace.
getExtensionConfig ( string $name ) : array Returns the configuration array for the given extension.
getExtensions ( ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface[] Returns all registered extensions.
getResources ( ) : Symfony\Component\Config\Resource\ResourceInterface[] Returns an array of resources loaded to build this configuration.
getServiceConditionals ( mixed $value ) : array Returns the Service Conditionals.
getServiceIds ( ) : array Gets all service ids.
has ( string $id ) : boolean Returns true if the given service is defined.
hasAlias ( string $id ) : boolean Returns true if an alias exists under the given identifier.
hasDefinition ( string $id ) : boolean Returns true if a service definition exists under the given identifier.
hasExtension ( string $name ) : boolean Checks if we have an extension.
isTrackingResources ( ) : boolean Checks if resources are tracked.
loadFromExtension ( string $extension, array $values = [] ) : ContainerBuilder Loads the configuration for an extension.
merge ( ContainerBuilder $container ) Merges a ContainerBuilder with the current ContainerBuilder configuration.
prependExtensionConfig ( string $name, array $config ) Prepends a config array to the configs of the given extension.
register ( string $id, string $class = null ) : Definition Registers a service definition.
registerExtension ( Symfony\Component\DependencyInjection\Extension\ExtensionInterface $extension ) Registers an extension.
removeAlias ( string $alias ) Removes an alias.
removeDefinition ( string $id ) Removes a service definition.
resolveEnvPlaceholders ( mixed $value, string | true | null $format = null, array &$usedEnvs = null ) : string Resolves env parameter placeholders in a string or an array.
resolveServices ( mixed $value ) : mixed Replaces service references by the real service instance and evaluates expressions.
set ( string $id, object $service ) Sets a service.
setAlias ( string $alias, string | Alias $id ) Sets an alias for an existing service.
setAliases ( array $aliases ) Sets the service aliases.
setDefinition ( string $id, Definition $definition ) : Definition Sets a service definition.
setDefinitions ( array $definitions ) Sets the service definitions.
setProxyInstantiator ( Symfony\Component\DependencyInjection\LazyProxy\Instantiator\InstantiatorInterface $proxyInstantiator ) Sets the instantiator to be used when fetching proxies.
setResourceTracking ( boolean $track ) Sets the track resources flag.
setResources ( array $resources ) : ContainerBuilder Sets the resources for this configuration.

Private Methods

Méthode Description
callMethod ( $service, $call )
createService ( Definition $definition, string $id, boolean $tryProxy = true ) : object Creates a service for a service definition.
getExpressionLanguage ( )
getProxyInstantiator ( ) : Symfony\Component\DependencyInjection\LazyProxy\Instantiator\InstantiatorInterface Retrieves the currently set proxy instantiator or instantiates one.
shareService ( Definition $definition, mixed $service, string $id ) Shares a given service in the container.

Method Details

addAliases() public méthode

Adds the service aliases.
public addAliases ( array $aliases )
$aliases array An array of aliases

addClassResource() public méthode

Adds the given class hierarchy as resources.
public addClassResource ( ReflectionClass $class ) : ContainerBuilder
$class ReflectionClass
Résultat ContainerBuilder The current instance

addCompilerPass() public méthode

Adds a compiler pass.
public addCompilerPass ( Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface $pass, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION ) : ContainerBuilder
$pass Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface A compiler pass
$type string The type of compiler pass
Résultat ContainerBuilder The current instance

addDefinitions() public méthode

Adds the service definitions.
public addDefinitions ( array $definitions )
$definitions array An array of service definitions

addExpressionLanguageProvider() public méthode

public addExpressionLanguageProvider ( Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface $provider )
$provider Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface

addObjectResource() public méthode

Adds the object class hierarchy as resources.
public addObjectResource ( object $object ) : ContainerBuilder
$object object An object instance
Résultat ContainerBuilder The current instance

addResource() public méthode

Adds a resource for this configuration.
public addResource ( Symfony\Component\Config\Resource\ResourceInterface $resource ) : ContainerBuilder
$resource Symfony\Component\Config\Resource\ResourceInterface A resource instance
Résultat ContainerBuilder The current instance

autowire() public méthode

This method implements a shortcut for using setDefinition() with an autowired definition.
public autowire ( string $id, null | string $class = null ) : Definition
$id string The service identifier
$class null | string The service class
Résultat Definition The created definition

compile() public méthode

This method passes the container to compiler passes whose job is to manipulate and optimize the container. The main compiler passes roughly do four things: * The extension configurations are merged; * Parameter values are resolved; * The parameter bag is frozen; * Extension loading is disabled.
public compile ( )

findDefinition() public méthode

The method "unaliases" recursively to return a Definition instance.
public findDefinition ( string $id ) : Definition
$id string The service identifier or alias
Résultat Definition A Definition instance

findTaggedServiceIds() public méthode

Example: $container->register('foo')->addTag('my.tag', array('hello' => 'world')); $serviceIds = $container->findTaggedServiceIds('my.tag'); foreach ($serviceIds as $serviceId => $tags) { foreach ($tags as $tag) { echo $tag['hello']; } }
public findTaggedServiceIds ( string $name ) : array
$name string The tag name
Résultat array An array of tags with the tagged service as key, holding a list of attribute arrays

findTags() public méthode

Returns all tags the defined services use.
public findTags ( ) : array
Résultat array An array of tags

findUnusedTags() public méthode

Returns all tags not queried by findTaggedServiceIds.
public findUnusedTags ( ) : string[]
Résultat string[] An array of tags

get() public méthode

Gets a service.
See also: Reference
public get ( string $id, integer $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE ) : object
$id string The service identifier
$invalidBehavior integer The behavior when the service does not exist
Résultat object The associated service

getAlias() public méthode

Gets an alias.
public getAlias ( string $id ) : Alias
$id string The service identifier
Résultat Alias An Alias instance

getAliases() public méthode

Gets all defined aliases.
public getAliases ( ) : Alias[]
Résultat Alias[] An array of aliases

getCompiler() public méthode

Returns the compiler.
public getCompiler ( ) : Compiler
Résultat Symfony\Component\DependencyInjection\Compiler\Compiler The compiler

getCompilerPassConfig() public méthode

Returns the compiler pass config which can then be modified.
public getCompilerPassConfig ( ) : PassConfig
Résultat Symfony\Component\DependencyInjection\Compiler\PassConfig The compiler pass config

getDefinition() public méthode

Gets a service definition.
public getDefinition ( string $id ) : Definition
$id string The service identifier
Résultat Definition A Definition instance

getDefinitions() public méthode

Gets all service definitions.
public getDefinitions ( ) : Definition[]
Résultat Definition[] An array of Definition instances

getEnvCounters() public méthode

Get statistics about env usage.
public getEnvCounters ( ) : int[]
Résultat int[] The number of time each env vars has been resolved

getExpressionLanguageProviders() public méthode

public getExpressionLanguageProviders ( ) : Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface[]
Résultat Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface[]

getExtension() public méthode

Returns an extension by alias or namespace.
public getExtension ( string $name ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface
$name string An alias or a namespace
Résultat Symfony\Component\DependencyInjection\Extension\ExtensionInterface An extension instance

getExtensionConfig() public méthode

Returns the configuration array for the given extension.
public getExtensionConfig ( string $name ) : array
$name string The name of the extension
Résultat array An array of configuration

getExtensions() public méthode

Returns all registered extensions.
public getExtensions ( ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface[]
Résultat Symfony\Component\DependencyInjection\Extension\ExtensionInterface[] An array of ExtensionInterface

getResources() public méthode

Returns an array of resources loaded to build this configuration.
public getResources ( ) : Symfony\Component\Config\Resource\ResourceInterface[]
Résultat Symfony\Component\Config\Resource\ResourceInterface[] An array of resources

getServiceConditionals() public static méthode

Returns the Service Conditionals.
public static getServiceConditionals ( mixed $value ) : array
$value mixed An array of conditionals to return
Résultat array An array of Service conditionals

getServiceIds() public méthode

Gets all service ids.
public getServiceIds ( ) : array
Résultat array An array of all defined service ids

has() public méthode

Returns true if the given service is defined.
public has ( string $id ) : boolean
$id string The service identifier
Résultat boolean true if the service is defined, false otherwise

hasAlias() public méthode

Returns true if an alias exists under the given identifier.
public hasAlias ( string $id ) : boolean
$id string The service identifier
Résultat boolean true if the alias exists, false otherwise

hasDefinition() public méthode

Returns true if a service definition exists under the given identifier.
public hasDefinition ( string $id ) : boolean
$id string The service identifier
Résultat boolean true if the service definition exists, false otherwise

hasExtension() public méthode

Checks if we have an extension.
public hasExtension ( string $name ) : boolean
$name string The name of the extension
Résultat boolean If the extension exists

isTrackingResources() public méthode

Checks if resources are tracked.
public isTrackingResources ( ) : boolean
Résultat boolean true if resources are tracked, false otherwise

loadFromExtension() public méthode

Loads the configuration for an extension.
public loadFromExtension ( string $extension, array $values = [] ) : ContainerBuilder
$extension string The extension alias or namespace
$values array An array of values that customizes the extension
Résultat ContainerBuilder The current instance

merge() public méthode

Service definitions overrides the current defined ones. But for parameters, they are overridden by the current ones. It allows the parameters passed to the container constructor to have precedence over the loaded ones. $container = new ContainerBuilder(array('foo' => 'bar')); $loader = new LoaderXXX($container); $loader->load('resource_name'); $container->register('foo', new stdClass()); In the above example, even if the loaded resource defines a foo parameter, the value will still be 'bar' as defined in the ContainerBuilder constructor.
public merge ( ContainerBuilder $container )
$container ContainerBuilder The ContainerBuilder instance to merge

prependExtensionConfig() public méthode

Prepends a config array to the configs of the given extension.
public prependExtensionConfig ( string $name, array $config )
$name string The name of the extension
$config array The config to set

register() public méthode

This methods allows for simple registration of service definition with a fluid interface.
public register ( string $id, string $class = null ) : Definition
$id string The service identifier
$class string The service class
Résultat Definition A Definition instance

registerExtension() public méthode

Registers an extension.
public registerExtension ( Symfony\Component\DependencyInjection\Extension\ExtensionInterface $extension )
$extension Symfony\Component\DependencyInjection\Extension\ExtensionInterface An extension instance

removeAlias() public méthode

Removes an alias.
public removeAlias ( string $alias )
$alias string The alias to remove

removeDefinition() public méthode

Removes a service definition.
public removeDefinition ( string $id )
$id string The service identifier

resolveEnvPlaceholders() public méthode

Resolves env parameter placeholders in a string or an array.
public resolveEnvPlaceholders ( mixed $value, string | true | null $format = null, array &$usedEnvs = null ) : string
$value mixed The value to resolve
$format string | true | null A sprintf() format returning the replacement for each env var name or null to resolve back to the original "%env(VAR)%" format or true to resolve to the actual values of the referenced env vars
$usedEnvs array
Résultat string The string with env parameters resolved

resolveServices() public méthode

Replaces service references by the real service instance and evaluates expressions.
public resolveServices ( mixed $value ) : mixed
$value mixed A value
Résultat mixed The same value with all service references replaced by the real service instances and all expressions evaluated

set() public méthode

Sets a service.
public set ( string $id, object $service )
$id string The service identifier
$service object The service instance

setAlias() public méthode

Sets an alias for an existing service.
public setAlias ( string $alias, string | Alias $id )
$alias string The alias to create
$id string | Alias The service to alias

setAliases() public méthode

Sets the service aliases.
public setAliases ( array $aliases )
$aliases array An array of aliases

setDefinition() public méthode

Sets a service definition.
public setDefinition ( string $id, Definition $definition ) : Definition
$id string The service identifier
$definition Definition A Definition instance
Résultat Definition the service definition

setDefinitions() public méthode

Sets the service definitions.
public setDefinitions ( array $definitions )
$definitions array An array of service definitions

setProxyInstantiator() public méthode

Sets the instantiator to be used when fetching proxies.
public setProxyInstantiator ( Symfony\Component\DependencyInjection\LazyProxy\Instantiator\InstantiatorInterface $proxyInstantiator )
$proxyInstantiator Symfony\Component\DependencyInjection\LazyProxy\Instantiator\InstantiatorInterface

setResourceTracking() public méthode

If you are not using the loaders and therefore don't want to depend on the Config component, set this flag to false.
public setResourceTracking ( boolean $track )
$track boolean true if you want to track resources, false otherwise

setResources() public méthode

Sets the resources for this configuration.
public setResources ( array $resources ) : ContainerBuilder
$resources array An array of resources
Résultat ContainerBuilder The current instance