ResettableContainerInterface

interface ResettableContainerInterface implements ContainerInterface

ResettableContainerInterface defines additional resetting functionality for containers, allowing to release shared services when the container is not needed anymore.

Methods

set(string $id, object $service, string $scope = self::SCOPE_CONTAINER)

Sets a service.

from ContainerInterface
object get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)

Gets a service.

from ContainerInterface
bool has(string $id)

Returns true if the given service is defined.

from ContainerInterface
mixed getParameter(string $name)

Gets a parameter.

from ContainerInterface
bool hasParameter(string $name)

Checks if a parameter exists.

from ContainerInterface
setParameter(string $name, mixed $value)

Sets a parameter.

from ContainerInterface
enterScope(string $name) deprecated

Enters the given scope.

from ContainerInterface
leaveScope(string $name) deprecated

Leaves the current scope, and re-enters the parent scope.

from ContainerInterface
addScope(ScopeInterface $scope) deprecated

Adds a scope to the container.

from ContainerInterface
bool hasScope(string $name) deprecated

Whether this container has the given scope.

from ContainerInterface
bool isScopeActive(string $name) deprecated

Determines whether the given scope is currently active.

from ContainerInterface
reset()

Resets shared services from the container.

Details

set(string $id, object $service, string $scope = self::SCOPE_CONTAINER)

Sets a service.

Note: The $scope parameter is deprecated since version 2.8 and will be removed in 3.0.

Parameters

string $id The service identifier
object $service The service instance
string $scope The scope of the service

object get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)

Gets a service.

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

See also

Reference

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

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

enterScope(string $name) deprecated

deprecated

since version 2.8, to be removed in 3.0.

Enters the given scope.

Parameters

string $name

leaveScope(string $name) deprecated

deprecated

since version 2.8, to be removed in 3.0.

Leaves the current scope, and re-enters the parent scope.

Parameters

string $name

addScope(ScopeInterface $scope) deprecated

deprecated

since version 2.8, to be removed in 3.0.

Adds a scope to the container.

Parameters

ScopeInterface $scope

bool hasScope(string $name) deprecated

deprecated

since version 2.8, to be removed in 3.0.

Whether this container has the given scope.

Parameters

string $name

Return Value

bool

bool isScopeActive(string $name) deprecated

deprecated

since version 2.8, to be removed in 3.0.

Determines whether the given scope is currently active.

It does however not check if the scope actually exists.

Parameters

string $name

Return Value

bool

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.