Spec-Zone.ru › Symfony 4.0

Контейнер

класс Container реализует ResettableContainerInterface

Контейнер — это контейнер для инъекции зависимостей.

Он предоставляет доступ к экземплярам объектов (сервисам). Сервисы и параметры — это простые хранилища ключ/значение. Контейнер может иметь четыре возможных поведения, когда сервис не существует (или не инициализирован в последнем случае):

  • EXCEPTIONONINVALID_REFERENCE: Выбрасывает исключение (по умолчанию)
  • NULLONINVALID_REFERENCE: Возвращает null
  • IGNOREONINVALID_REFERENCE: Игнорирует команду, запрашивающую ссылку (например, игнорирует установщик, если сервис не существует)
  • IGNOREONUNINITIALIZED_REFERENCE: Игнорирует/возвращает null для неинициализированных сервисов или некорректных ссылок

Методы

__construct(ParameterBagInterface $parameterBag = null)
compile()

Компилирует контейнер.

bool isCompiled()

Возвращает true, если контейнер скомпилирован.

ParameterBagInterface getParameterBag()

Получает пакет параметров контейнера сервиса.

mixed getParameter(string $name)

Получает параметр.

bool hasParameter(string $name)

Проверяет, существует ли параметр.

setParameter(string $name, mixed $value)

Устанавливает параметр.

set(string $id, object $service)

Устанавливает сервис.

bool has(string $id)

Возвращает true, если заданный сервис определён.

object get(string $id, int $invalidBehavior = 1)

Получает сервис.

bool initialized(string $id)

Возвращает true, если заданный сервис был фактически инициализирован.

reset()

Сбрасывает общие сервисы из контейнера.

array getServiceIds()

Получает все идентификаторы сервисов.

array getRemovedIds()

Получает идентификаторы сервисов, существовавшие во время компиляции.

static string camelize(string $id)

Преобразует строку в верблюжью нотацию.

static string underscore(string $id)

Преобразует строку в нижний регистр с подчёркиванием.

Подробности

__construct(ParameterBagInterface $parameterBag = null)

Параметры

ParameterBagInterface $parameterBag

compile()

Компилирует контейнер.

Этот метод выполняет две операции:

  • Значения параметров разрешаются;
  • Пакет параметров замораживается.

bool isCompiled()

Возвращает true, если контейнер скомпилирован.

Возвращаемое значение

bool

ParameterBagInterface getParameterBag()

Получает пакет параметров контейнера сервиса.

Возвращаемое значение

ParameterBagInterface Экземпляр ParameterBagInterface

mixed getParameter(string $name)

Получает параметр.

Параметры

string $name Имя параметра

Возвращаемое значение

mixed Значение параметра

Исключения

InvalidArgumentException если параметр не определён

bool hasParameter(string $name)

Проверяет, существует ли параметр.

Параметры

string $name Имя параметра

Возвращаемое значение

bool Присутствие параметра в контейнере

setParameter(string $name, mixed $value)

Устанавливает параметр.

Параметры

string $name Имя параметра
mixed $value Значение параметра

set(string $id, object $service)

Устанавливает сервис.

Установка сервиса в null сбрасывает сервис: has() возвращает false, а get() ведет себя так же, как если бы сервис никогда не был создан.

Параметры

string $id Идентификатор сервиса
object $service Экземпляр сервиса

bool has(string $id)

Возвращает true, если заданный сервис определён.

Параметры

string $id Идентификатор сервиса

Возвращаемое значение

bool true, если сервис определён, иначе false

object get(string $id, int $invalidBehavior = 1)

Получает сервис.

Параметры

string $id Идентификатор сервиса
int $invalidBehavior Поведение при отсутствии сервиса

Возвращаемое значение

object Соответствующий сервис

Исключения

ServiceCircularReferenceException При обнаружении циклической ссылки
ServiceNotFoundException При отсутствии сервиса
Исключение если при разрешении сервиса было выброшено исключение

См. также

Ссылка

bool initialized(string $id)

Возвращает true, если заданный сервис был фактически инициализирован.

Параметры

string $id

Возвращаемое значение

bool true, если сервис был инициализирован, иначе false

reset()

Сбрасывает общие сервисы из контейнера.

Контейнер не предназначен для повторного использования после сброса в обычном рабочем процессе. Этот метод предназначен для освобождения ссылок для учёта ссылок. Последующий вызов ContainerInterface::get создаст новый экземпляр общего сервиса.

array getServiceIds()

Получает все идентификаторы сервисов.

Возвращаемое значение

array Массив всех определённых идентификаторов сервисов

array getRemovedIds()

Получает идентификаторы сервисов, существовавшие во время компиляции.

Возвращаемое значение

array

static string camelize(string $id)

Преобразует строку в верблюжью нотацию.

Параметры

string $id Строка для преобразования

Возвращаемое значение

string Преобразованная строка

static string underscore(string $id)

Преобразует строку в нижний регистр с подчёркиванием.

Параметры

string $id Строка для преобразования

Возвращаемое значение

string Преобразованная строка

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/DependencyInjection/Container.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API