Container
class Container implements IntrospectableContainerInterface
Container is a dependency injection container.
It gives access to object instances (services).
Services and parameters are simple key/pair stores.
Parameter and service keys are case insensitive.
A service can also be defined by creating a method named getXXXService(), where XXX is the camelized version of the id:
- request -> getRequestService()
 - mysql_session_storage -> getMysqlSessionStorageService()
 - symfony.mysql_session_storage -> getSymfony_MysqlSessionStorageService()
 
The container can have three possible behaviors when a service does not exist:
- EXCEPTIONONINVALID_REFERENCE: Throws an exception (the default)
 - NULLONINVALID_REFERENCE: Returns null
 - IGNOREONINVALID_REFERENCE: Ignores the wrapping command asking for the reference (for instance, ignore a setter if the service does not exist)
 
Methods
| __construct(ParameterBagInterface $parameterBag = null) | ||
|  compile()  Compiles the container.  |  ||
| bool |  isFrozen()  Returns true if the container parameter bag are frozen.  |  |
| ParameterBagInterface |  getParameterBag()  Gets the service container parameter bag.  |  |
| mixed |  getParameter(string $name)  Gets a parameter.  |  |
| bool |  hasParameter(string $name)  Checks if a parameter exists.  |  |
|  setParameter(string $name, mixed $value)  Sets a parameter.  |  ||
|  set(string $id, object $service, string $scope = self::SCOPE_CONTAINER)  Sets a service.  |  ||
| bool |  has(string $id)  Returns true if the given service is defined.  |  |
| object |  get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)  Gets a service.  |  |
| bool |  initialized(string $id)  Returns true if the given service has actually been initialized.  |  |
| array |  getServiceIds()  Gets all service ids.  |  |
|  enterScope(string $name)  This is called when you enter a scope.  |  ||
|  leaveScope(string $name)  This is called to leave the current scope, and move back to the parent scope.  |  ||
|  addScope(ScopeInterface $scope)  Adds a scope to the container.  |  ||
| bool |  hasScope(string $name)  Returns whether this container has a certain scope.  |  |
| bool |  isScopeActive(string $name)  Returns whether this scope is currently active.  |  |
| static string |  camelize(string $id)  Camelizes a string.  |  |
| static string |  underscore(string $id)  A string to underscore.  |  
Details
__construct(ParameterBagInterface $parameterBag = null)
Parameters
| ParameterBagInterface | $parameterBag | 
compile()
Compiles the container.
This method does two things:
- Parameter values are resolved;
 - The parameter bag is frozen.
 
bool isFrozen()
Returns true if the container parameter bag are frozen.
Return Value
| bool | true if the container parameter bag are frozen, false otherwise | 
ParameterBagInterface getParameterBag()
Gets the service container parameter bag.
Return Value
| ParameterBagInterface | A ParameterBagInterface instance | 
mixed getParameter(string $name)
Gets a parameter.
Parameters
| string | $name | The parameter name | 
Return Value
| mixed | The parameter value | 
Exceptions
| InvalidArgumentException | if the parameter is not defined | 
bool hasParameter(string $name)
Checks if a parameter exists.
Parameters
| string | $name | The parameter name | 
Return Value
| bool | The presence of parameter in container | 
setParameter(string $name, mixed $value)
Sets a parameter.
Parameters
| string | $name | The parameter name | 
| mixed | $value | The parameter value | 
set(string $id, object $service, string $scope = self::SCOPE_CONTAINER)
Sets a service.
Setting a service to null resets the service: has() returns false and get() behaves in the same way as if the service was never created.
Parameters
| string | $id | The service identifier | 
| object | $service | The service instance | 
| string | $scope | The scope of the service | 
Exceptions
| RuntimeException | When trying to set a service in an inactive scope | 
| InvalidArgumentException | When trying to set a service in the prototype scope | 
bool has(string $id)
Returns true if the given service is defined.
Parameters
| string | $id | The service identifier | 
Return Value
| bool | true if the service is defined, false otherwise | 
object get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)
Gets a service.
If a service is defined both through a set() method and with a get{$id}Service() method, the former has always precedence.
Parameters
| string | $id | The service identifier | 
| int | $invalidBehavior | The behavior when the service does not exist | 
Return Value
| object | The associated service | 
Exceptions
| ServiceCircularReferenceException | When a circular reference is detected | 
| ServiceNotFoundException | When the service is not defined | 
| Exception | if an exception has been thrown when the service has been resolved | 
See also
| Reference | 
bool initialized(string $id)
Returns true if the given service has actually been initialized.
Parameters
| string | $id | 
Return Value
| bool | true if the service has been initialized, false otherwise | 
array getServiceIds()
Gets all service ids.
Return Value
| array | An array of all defined service ids | 
enterScope(string $name)
This is called when you enter a scope.
Parameters
| string | $name | 
Exceptions
| RuntimeException | When the parent scope is inactive | 
| InvalidArgumentException | When the scope does not exist | 
leaveScope(string $name)
This is called to leave the current scope, and move back to the parent scope.
Parameters
| string | $name | 
Exceptions
| InvalidArgumentException | if the scope is not active | 
addScope(ScopeInterface $scope)
Adds a scope to the container.
Parameters
| ScopeInterface | $scope | 
Exceptions
| InvalidArgumentException | 
bool hasScope(string $name)
Returns whether this container has a certain scope.
Parameters
| string | $name | 
Return Value
| bool | 
bool isScopeActive(string $name)
Returns whether this scope is currently active.
This does not actually check if the passed scope actually exists.
Parameters
| string | $name | 
Return Value
| bool | 
static string camelize(string $id)
Camelizes a string.
Parameters
| string | $id | A string to camelize | 
Return Value
| string | The camelized string | 
static string underscore(string $id)
A string to underscore.
Parameters
| string | $id | The string to underscore | 
Return Value
| string | The underscored string | 
    © 2004–2017 Fabien Potencier
Licensed under the MIT License.
    http://api.symfony.com/2.7/Symfony/Component/DependencyInjection/Container.html