Container

class Container implements ResettableContainerInterface

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 id can contain lowercased letters, digits, underscores, and dots. Underscores are used to separate words, and dots to group services under namespaces:

  • request
  • mysql_session_storage
  • symfony.mysql_session_storage

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)

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.

reset()

Resets shared services from the container.

array getServiceIds()

Gets all service ids.

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 A ParameterBagInterface instance

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)

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

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

reset()

Resets shared services from the container.

The container is not intended to be used again after being reset in a normal workflow. This method is meant as a way to release references for ref-counting. A subsequent call to ContainerInterface::get will recreate a new instance of the shared service.

array getServiceIds()

Gets all service ids.

Return Value

array An array of all defined service ids

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
doc_Symfony
2016-10-28 06:11:45
Comments
Leave a Comment

Please login to continue.