Spec-Zone.ru › Symfony 4.1

Контейнер

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

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

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

  • EXCEPTION_ON_INVALID_REFERENCE: Бросает исключение (по умолчанию)
  • NULL_ON_INVALID_REFERENCE: Возвращает null
  • IGNORE_ON_INVALID_REFERENCE: Игнорирует команду, запрашивающую ссылку (например, игнорирует сеттер, если сервис не существует)
  • IGNORE_ON_UNINITIALIZED_REFERENCE: Игнорирует/возвращает null для неинициализированных сервисов или недействительных ссылок

Свойства

protected $parameterBag
protected $services
protected $fileMap
protected $methodMap
protected $factories
protected $aliases
protected $loading
protected $resolving
protected $syntheticIds

Методы

__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)

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

object load($file)

Создаёт сервис, загрузив его файл фабрики.

mixed getEnv(string $name)

Извлекает переменную из окружения.

Подробности

__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 Если сервис не определен
Exception если при разрешении сервиса было выброшено исключение

См. также

Reference

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 Преобразованная строка

protected object load($file)

Создает сервис, загрузив его файл-фабрику.

Параметры

$file

Значение возврата

object Созданный сервисом файл

protected mixed getEnv(string $name)

Извлекает переменную из окружения.

Параметры

string $name Имя переменной окружения

Значение возврата

mixed Значение для предоставленного имени переменной окружения

Исключения

EnvNotFoundException Когда переменная окружения не найдена и не имеет значения по умолчанию

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

Spec-Zone.ru

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