PHP Класс Symfony\Component\DependencyInjection\ContainerBuilder

Автор: Fabien Potencier ([email protected])
Наследование: extends Symfony\Component\DependencyInjection\Container, implements Symfony\Component\DependencyInjection\TaggedContainerInterface
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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.

Приватные методы

Метод Описание
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.

Описание методов

addAliases() публичный метод

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

addClassResource() публичный метод

Adds the given class hierarchy as resources.
public addClassResource ( ReflectionClass $class ) : ContainerBuilder
$class ReflectionClass
Результат ContainerBuilder The current instance

addCompilerPass() публичный метод

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
Результат ContainerBuilder The current instance

addDefinitions() публичный метод

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

addExpressionLanguageProvider() публичный метод

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

addObjectResource() публичный метод

Adds the object class hierarchy as resources.
public addObjectResource ( object $object ) : ContainerBuilder
$object object An object instance
Результат ContainerBuilder The current instance

addResource() публичный метод

Adds a resource for this configuration.
public addResource ( Symfony\Component\Config\Resource\ResourceInterface $resource ) : ContainerBuilder
$resource Symfony\Component\Config\Resource\ResourceInterface A resource instance
Результат ContainerBuilder The current instance

autowire() публичный метод

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
Результат Definition The created definition

compile() публичный метод

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() публичный метод

The method "unaliases" recursively to return a Definition instance.
public findDefinition ( string $id ) : Definition
$id string The service identifier or alias
Результат Definition A Definition instance

findTaggedServiceIds() публичный метод

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
Результат array An array of tags with the tagged service as key, holding a list of attribute arrays

findTags() публичный метод

Returns all tags the defined services use.
public findTags ( ) : array
Результат array An array of tags

findUnusedTags() публичный метод

Returns all tags not queried by findTaggedServiceIds.
public findUnusedTags ( ) : string[]
Результат string[] An array of tags

get() публичный метод

Gets a service.
См. также: 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
Результат object The associated service

getAlias() публичный метод

Gets an alias.
public getAlias ( string $id ) : Alias
$id string The service identifier
Результат Alias An Alias instance

getAliases() публичный метод

Gets all defined aliases.
public getAliases ( ) : Alias[]
Результат Alias[] An array of aliases

getCompiler() публичный метод

Returns the compiler.
public getCompiler ( ) : Compiler
Результат Symfony\Component\DependencyInjection\Compiler\Compiler The compiler

getCompilerPassConfig() публичный метод

Returns the compiler pass config which can then be modified.
public getCompilerPassConfig ( ) : PassConfig
Результат Symfony\Component\DependencyInjection\Compiler\PassConfig The compiler pass config

getDefinition() публичный метод

Gets a service definition.
public getDefinition ( string $id ) : Definition
$id string The service identifier
Результат Definition A Definition instance

getDefinitions() публичный метод

Gets all service definitions.
public getDefinitions ( ) : Definition[]
Результат Definition[] An array of Definition instances

getEnvCounters() публичный метод

Get statistics about env usage.
public getEnvCounters ( ) : int[]
Результат int[] The number of time each env vars has been resolved

getExpressionLanguageProviders() публичный метод

public getExpressionLanguageProviders ( ) : Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface[]
Результат Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface[]

getExtension() публичный метод

Returns an extension by alias or namespace.
public getExtension ( string $name ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface
$name string An alias or a namespace
Результат Symfony\Component\DependencyInjection\Extension\ExtensionInterface An extension instance

getExtensionConfig() публичный метод

Returns the configuration array for the given extension.
public getExtensionConfig ( string $name ) : array
$name string The name of the extension
Результат array An array of configuration

getExtensions() публичный метод

Returns all registered extensions.
public getExtensions ( ) : Symfony\Component\DependencyInjection\Extension\ExtensionInterface[]
Результат Symfony\Component\DependencyInjection\Extension\ExtensionInterface[] An array of ExtensionInterface

getResources() публичный метод

Returns an array of resources loaded to build this configuration.
public getResources ( ) : Symfony\Component\Config\Resource\ResourceInterface[]
Результат Symfony\Component\Config\Resource\ResourceInterface[] An array of resources

getServiceConditionals() публичный статический метод

Returns the Service Conditionals.
public static getServiceConditionals ( mixed $value ) : array
$value mixed An array of conditionals to return
Результат array An array of Service conditionals

getServiceIds() публичный метод

Gets all service ids.
public getServiceIds ( ) : array
Результат array An array of all defined service ids

has() публичный метод

Returns true if the given service is defined.
public has ( string $id ) : boolean
$id string The service identifier
Результат boolean true if the service is defined, false otherwise

hasAlias() публичный метод

Returns true if an alias exists under the given identifier.
public hasAlias ( string $id ) : boolean
$id string The service identifier
Результат boolean true if the alias exists, false otherwise

hasDefinition() публичный метод

Returns true if a service definition exists under the given identifier.
public hasDefinition ( string $id ) : boolean
$id string The service identifier
Результат boolean true if the service definition exists, false otherwise

hasExtension() публичный метод

Checks if we have an extension.
public hasExtension ( string $name ) : boolean
$name string The name of the extension
Результат boolean If the extension exists

isTrackingResources() публичный метод

Checks if resources are tracked.
public isTrackingResources ( ) : boolean
Результат boolean true if resources are tracked, false otherwise

loadFromExtension() публичный метод

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
Результат ContainerBuilder The current instance

merge() публичный метод

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() публичный метод

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() публичный метод

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
Результат Definition A Definition instance

registerExtension() публичный метод

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

removeAlias() публичный метод

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

removeDefinition() публичный метод

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

resolveEnvPlaceholders() публичный метод

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
Результат string The string with env parameters resolved

resolveServices() публичный метод

Replaces service references by the real service instance and evaluates expressions.
public resolveServices ( mixed $value ) : mixed
$value mixed A value
Результат mixed The same value with all service references replaced by the real service instances and all expressions evaluated

set() публичный метод

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

setAlias() публичный метод

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() публичный метод

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

setDefinition() публичный метод

Sets a service definition.
public setDefinition ( string $id, Definition $definition ) : Definition
$id string The service identifier
$definition Definition A Definition instance
Результат Definition the service definition

setDefinitions() публичный метод

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

setProxyInstantiator() публичный метод

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() публичный метод

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() публичный метод

Sets the resources for this configuration.
public setResources ( array $resources ) : ContainerBuilder
$resources array An array of resources
Результат ContainerBuilder The current instance