ResettableContainerInterface
interface ResettableContainerInterface implements ContainerInterface
ResettableContainerInterface определяет дополнительную функциональность сброса для контейнеров, позволяя освобождать общие сервисы, когда контейнер больше не нужен.
Методы
| set(string $id, object $service, string $scope = self::SCOPE_CONTAINER) Устанавливает сервис. | из ContainerInterface | |
| object | get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE) Получает сервис. | из ContainerInterface |
| bool | has(string $id) Возвращает true, если заданный сервис определен. | из ContainerInterface |
| mixed | getParameter(string $name) Получает параметр. | из ContainerInterface |
| bool | hasParameter(string $name) Проверяет, существует ли параметр. | из ContainerInterface |
| setParameter(string $name, mixed $value) Устанавливает параметр. | из ContainerInterface | |
| enterScope(string $name) устаревшее Входит в заданный scope. | из ContainerInterface | |
| leaveScope(string $name) устаревшее Выходит из текущего scope и возвращается в родительский scope. | из ContainerInterface | |
| addScope(ScopeInterface $scope) устаревшее Добавляет scope в контейнер. | из ContainerInterface | |
| bool | hasScope(string $name) устаревшее Указывает, содержит ли этот контейнер заданный scope. | из ContainerInterface |
| bool | isScopeActive(string $name) устаревшее Определяет, является ли заданный scope активным в данный момент. | из ContainerInterface |
| reset() Сбрасывает общие сервисы из контейнера. |
Детали
set(string $id, object $service, string $scope = self::SCOPE_CONTAINER)
Устанавливает сервис.
Примечание: параметр $scope устарел с версии 2.8 и будет удален в 3.0.
Параметры
| string | $id | Идентификатор сервиса |
| object | $service | Экземпляр сервиса |
| string | $scope | Scope сервиса |
object get(string $id, int $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE)
Получает сервис.
Параметры
| string | $id | Идентификатор сервиса |
| int | $invalidBehavior | Поведение при отсутствии сервиса |
Возвращаемое значение
| object | Соответствующий сервис |
Исключения
| ServiceCircularReferenceException | При обнаружении циклической ссылки |
| ServiceNotFoundException | Когда сервис не определен |
См. также
| Ссылка |
bool has(string $id)
Возвращает true, если заданный сервис определен.
Параметры
| string | $id | Идентификатор сервиса |
Возвращаемое значение
| bool | true, если сервис определен, иначе false |
mixed getParameter(string $name)
Получает параметр.
Параметры
| string | $name | Имя параметра |
Возвращаемое значение
| mixed | Значение параметра |
Исключения
| InvalidArgumentException | если параметр не определен |
bool hasParameter(string $name)
Проверяет существование параметра.
Параметры
| string | $name | Имя параметра |
Возвращаемое значение
| bool | Наличие параметра в контейнере |
setParameter(string $name, mixed $value)
Устанавливает параметр.
Параметры
| string | $name | Имя параметра |
| mixed | $value | Значение параметра |
enterScope(string $name) устаревшее
устаревшее
Входит в заданный scope.
Параметры
| string | $name |
leaveScope(string $name) устаревшее
устаревшее
Выходит из текущего scope и возвращается в родительский scope.
Параметры
| string | $name |
addScope(ScopeInterface $scope) устаревшее
устаревшее
Добавляет scope в контейнер.
Параметры
| ScopeInterface | $scope |
bool hasScope(string $name) устаревшее
устаревшее
Указывает, содержит ли данный контейнер указанный scope.
Параметры
| string | $name |
Возвращаемое значение
| bool |
bool isScopeActive(string $name) устаревшее
устаревшее
Определяет, является ли заданный scope активным в настоящий момент.
Однако он не проверяет, существует ли scope.
Параметры
| string | $name |
Возвращаемое значение
| bool |
reset()
Сбрасывает общие сервисы из контейнера.
Контейнер не предназначен для повторного использования после сброса в обычном рабочем процессе. Этот метод предназначен для освобождения ссылок для подсчета ссылок. Последующий вызов ContainerInterface::get создаст новый экземпляр общего сервиса.
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/DependencyInjection/ResettableContainerInterface.html