Spec-Zone.ru › Symfony 3.3

ContainerBuilder

class ContainerBuilder extends Container implements TaggedContainerInterface

ContainerBuilder — это контейнер DI, который предоставляет API для простого описания сервисов.

Методы

__construct(ParameterBagInterface $parameterBag = null)
compile()

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

bool isCompiled()

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

из Container
bool isFrozen() deprecated

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

из Container
ParameterBagInterface getParameterBag()

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

из Container
mixed getParameter(string $name)

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

из Container
bool hasParameter(string $name)

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

из Container
setParameter(string $name, mixed $value)

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

из Container
set(string $id, object $service)

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

bool has(string $id)

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

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

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

bool initialized(string $id)

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

из Container
reset()

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

из Container
array getServiceIds()

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

static string camelize(string $id)

Преобразует строку в camelCase.

из Container
static string underscore(string $id)

Преобразует строку в underscore.

из Container
string normalizeId(string $id)

Возвращает идентификатор, используемый во время регистрации, чувствительный к регистру.

из Container
setResourceTracking(bool $track)

Устанавливает флаг отслеживания ресурсов.

bool isTrackingResources()

Проверяет, отслеживаются ли ресурсы.

setProxyInstantiator(InstantiatorInterface $proxyInstantiator)

Устанавливает инстанциатор, используемый при получении прокси.

registerExtension(ExtensionInterface $extension)
ExtensionInterface getExtension(string $name)

Возвращает расширение по псевдониму или имени пространства имен.

ExtensionInterface[] getExtensions()

Возвращает все зарегистрированные расширения.

bool hasExtension(string $name)

Проверяет, существует ли расширение.

ResourceInterface[] getResources()

Возвращает массив загруженных ресурсов для построения этой конфигурации.

$this addResource(ResourceInterface $resource)
$this setResources(array $resources)

Устанавливает ресурсы для этой конфигурации.

$this addObjectResource(object|string $object)

Добавляет иерархию классов объектов в качестве ресурсов.

$this addClassResource(ReflectionClass $class) deprecated

Добавляет заданную иерархию классов в качестве ресурсов.

ReflectionClass|null getReflectionClass(string $class, bool $throw = true)

Возвращает запрашиваемый класс рефлексии и регистрирует его для отслеживания ресурсов.

bool fileExists(string $path, bool|string $trackContents = true)

Проверяет, существует ли запрашиваемый файл или каталог, и регистрирует результат для отслеживания ресурсов.

$this loadFromExtension(string $extension, array $values = array())

Загружает конфигурацию для расширения.

$this addCompilerPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)

Добавляет компилятор-пасс.

PassConfig getCompilerPassConfig()

Возвращает конфигурацию компилятор-пасса, которую можно изменить.

Compiler getCompiler()

Возвращает компилятор.

removeDefinition(string $id)

Удаляет определение сервиса.

merge(ContainerBuilder $container)

Сливает ContainerBuilder с текущей конфигурацией ContainerBuilder.

array getExtensionConfig(string $name)

Возвращает массив конфигурации для данного расширения.

prependExtensionConfig(string $name, array $config)

Добавляет массив конфигурации в начало конфигурации данного расширения.

addAliases(array $aliases)

Добавляет псевдонимы сервисов.

setAliases(array $aliases)

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

setAlias(string $alias, string|Alias $id)

Устанавливает псевдоним для существующего сервиса.

removeAlias(string $alias)

Удаляет псевдоним.

bool hasAlias(string $id)

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

Alias[] getAliases()

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

Alias getAlias(string $id)

Получает псевдоним.

Definition register($id, $class = null)

Регистрирует определение сервиса.

Definition autowire(string $id, null|string $class = null)

Регистрирует определение автозависимого сервиса.

addDefinitions(array $definitions)

Добавляет определения сервисов.

setDefinitions(array $definitions)

Устанавливает определения сервисов.

Definition[] getDefinitions()

Получает все определения сервисов.

Определение setDefinition(string $id, Определение $definition)

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

bool hasDefinition(string $id)

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

Определение getDefinition(string $id)

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

Определение findDefinition(string $id)

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

mixed resolveServices(mixed $value)

Заменяет ссылки на сервисы реальными экземплярами сервисов и вычисляет выражения.

array findTaggedServiceIds(string $name, bool $throwOnAbstract = false)

Возвращает идентификаторы сервисов для заданного тега.

array findTags()

Возвращает все теги, используемые определенными сервисами.

string[] findUnusedTags()

Возвращает все теги, не запрошенные методом findTaggedServiceIds.

addExpressionLanguageProvider(Интерфейс поставщика функций языка выражений $provider)
Интерфейс поставщика функций языка выражений[] getExpressionLanguageProviders()
ChildDefinition registerForAutoconfiguration(string $interface)

Возвращает ChildDefinition, который будет использоваться для автоматической настройки интерфейса/класса.

ChildDefinition[] getAutoconfiguredInstanceof()

Возвращает массив ChildDefinition[], индексированный по интерфейсу.

mixed resolveEnvPlaceholders(mixed $value, string|true|null $format = null, array $usedEnvs = null)

Разрешает заполнитель env-параметров в строке или массиве.

int[] getEnvCounters()

Получить статистику по использованию env.

getNormalizedIds()
log(Интерфейс компилятора $pass, $message)
static array getServiceConditionals(mixed $value)

Возвращает условные данные сервиса.

Подробности

__construct(ParameterBagInterface $parameterBag = null)

Параметры

ParameterBagInterface $parameterBag

compile()

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

Этот метод передает контейнер в проходы компилятора, задача которых состоит в манипулировании и оптимизации контейнера.

Основные проходы компилятора выполняют примерно четыре действия:

  • Объединяются конфигурации расширений;
  • Разрешаются значения параметров;
  • Множество параметров замораживается;
  • Загрузка расширений отключается.

bool isCompiled()

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

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

bool

bool isFrozen() устарело

устарело

since версия 3.3, будет удалено в 4.0.

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

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

bool true, если множество параметров контейнера заморожено, иначе false

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)

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

Параметры

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

Исключения

BadMethodCallException Когда этот ContainerBuilder скомпилирован

bool has(string $id)

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

Параметры

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

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

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

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

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

Параметры

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

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

object Связанный сервис

Исключения

InvalidArgumentException если определения недоступны
ServiceCircularReferenceException При обнаружении циклической ссылки
ServiceNotFoundException Если сервис не определен
Exception

См. также

Ссылка

bool initialized(string $id)

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

Параметры

string $id

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

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

reset()

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

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

array getServiceIds()

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

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

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

static string camelize(string $id)

Преобразует строку в camelCase.

Параметры

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

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

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

static string underscore(string $id)

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

Параметры

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

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

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

string normalizeId(string $id)

Возвращает идентификатор, чувствительный к регистру, используемый во время регистрации.

Параметры

string $id

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

string

setResourceTracking(bool $track)

Устанавливает флаг отслеживания ресурсов.

Если вы не используете загрузчики и, следовательно, не хотите зависеть от компонента Config, установите этот флаг в false.

Параметры

bool $track True, если нужно отслеживать ресурсы, иначе false

bool isTrackingResources()

Проверяет, отслеживаются ли ресурсы.

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

bool true, если ресурсы отслеживаются, иначе false

setProxyInstantiator(InstantiatorInterface $proxyInstantiator)

Устанавливает инициализатор, используемый при получении прокси.

Параметры

InstantiatorInterface $proxyInstantiator

registerExtension(ExtensionInterface $extension)

Параметры

ExtensionInterface $extension

ExtensionInterface getExtension(string $name)

Возвращает расширение по псевдониму или имени пространства имён.

Параметры

string $name Псевдоним или имя пространства имён

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

ExtensionInterface Экземпляр расширения

Исключения

LogicException если расширение не зарегистрировано

ExtensionInterface[] getExtensions()

Возвращает все зарегистрированные расширения.

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

ExtensionInterface[] Массив ExtensionInterface

bool hasExtension(string $name)

Проверяет, есть ли у нас расширение.

Параметры

string $name Название расширения

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

bool Существует ли расширение

ResourceInterface[] getResources()

Возвращает массив загруженных ресурсов для построения этой конфигурации.

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

ResourceInterface[] Массив ресурсов

$this addResource(ResourceInterface $resource)

Параметры

ResourceInterface $resource

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

$this

$this setResources(array $resources)

Устанавливает ресурсы для этой конфигурации.

Параметры

array $resources Массив ресурсов

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

$this

$this addObjectResource(object|string $object)

Добавляет иерархию классов объекта как ресурсы.

Параметры

object|string $object Экземпляр объекта или имя класса

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

$this

$this addClassResource(ReflectionClass $class) устарело

устарело

since версия 3.3, будет удалено в 4.0. Используйте addObjectResource() или getReflectionClass().

Добавляет заданную иерархию классов как ресурсы.

Параметры

ReflectionClass $class

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

$this

ReflectionClass|null getReflectionClass(string $class, bool $throw = true)

Возвращает запрашиваемый класс рефлексии и регистрирует его для отслеживания ресурсов.

Параметры

string $class
bool $throw

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

ReflectionClass|null

Исключения

ReflectionException когда родительский класс/интерфейс/трейт не найден, и $throw = true

bool fileExists(string $path, bool|string $trackContents = true)

Проверяет, существует ли запрашиваемый файл или директория, и регистрирует результат для отслеживания ресурсов.

Параметры

string $path Путь к файлу или директории для проверки существования
bool|string $trackContents Нужно ли отслеживать содержимое данного ресурса. Если передана строка, она будет использована как шаблон для отслеживания содержимого запрошенной директории

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

bool

$this loadFromExtension(string $extension, array $values = array())

Загружает конфигурацию для расширения.

Параметры

string $extension Псевдоним или пространство имён расширения
array $values Массив значений, которые настраивают расширение

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

$this

Исключения

BadMethodCallException Когда этот ContainerBuilder скомпилирован
LogicException если расширение не зарегистрировано

$this addCompilerPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)

Добавляет компиляционный проход.

Параметры

CompilerPassInterface $pass
$type

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

$this

PassConfig getCompilerPassConfig()

Возвращает конфигурацию компиляционного прохода, которую можно изменить.

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

PassConfig Конфигурация компиляционного прохода

Compiler getCompiler()

Возвращает компилятор.

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

Compiler Компилятор

removeDefinition(string $id)

Удаляет определение службы.

Параметры

string $id Идентификатор службы

merge(ContainerBuilder $container)

Объединяет ContainerBuilder с текущей конфигурацией ContainerBuilder.

Определения служб переопределяют текущие.

Но для параметров они переопределяются текущими. Это позволяет параметрам, переданным в конструктор контейнера, иметь приоритет над загруженными.

$container = new ContainerBuilder(array('foo' => 'bar')); $loader = new LoaderXXX($container); $loader->load('resource_name'); $container->register('foo', new stdClass());

В приведенном выше примере, даже если загруженный ресурс определяет параметр foo, значение по-прежнему будет 'bar', как определено в конструкторе ContainerBuilder.

Параметры

ContainerBuilder $container

Исключения

BadMethodCallException Когда этот ContainerBuilder скомпилирован

array getExtensionConfig(string $name)

Возвращает массив конфигурации для данного расширения.

Параметры

string $name Имя расширения

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

array Массив конфигурации

prependExtensionConfig(string $name, array $config)

Добавляет массив конфигурации в начало конфигураций данного расширения.

Параметры

string $name Имя расширения
array $config Конфигурация для установки

addAliases(array $aliases)

Добавляет псевдонимы служб.

Параметры

array $aliases

setAliases(array $aliases)

Устанавливает псевдонимы служб.

Параметры

array $aliases

setAlias(string $alias, string|Alias $id)

Устанавливает псевдоним для существующей службы.

Параметры

string $alias Псевдоним для создания
string|Alias $id Служба для псевдонима

Исключения

InvalidArgumentException если id не строка или Alias
InvalidArgumentException если псевдоним указывает на самого себя

removeAlias(string $alias)

Удаляет псевдоним.

Параметры

string $alias Псевдоним для удаления

bool hasAlias(string $id)

Возвращает true, если псевдоним существует под данным идентификатором.

Параметры

строка $id Идентификатор службы

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

bool true, если псевдоним существует, иначе false

Псевдоним[] getAliases()

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

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

Псевдоним[] Массив псевдонимов

Псевдоним getAlias(строка $id)

Получает псевдоним.

Параметры

строка $id Идентификатор службы

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

Псевдоним Экземпляр Alias

Исключения

Исключение некорректного аргумента если псевдоним не существует

Определение register($id, $class = null)

Регистрирует определение службы.

Этот метод позволяет для простоты регистрации определения службы с гибким интерфейсом.

Параметры

$id
$class

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

Определение Экземпляр Definition

Определение autowire(строка $id, null|строка $class = null)

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

Этот метод реализует сокращение для использования setDefinition() с определением автоподстановки зависимостей.

Параметры

строка $id Идентификатор службы
null|строка $class Класс службы

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

Определение Созданное определение

addDefinitions(массив $definitions)

Добавляет определения служб.

Параметры

массив $definitions Массив определений служб

setDefinitions(массив $definitions)

Устанавливает определения служб.

Параметры

массив $definitions Массив определений служб

Определение[] getDefinitions()

Получает все определения служб.

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

Определение[] Массив экземпляров Definition

Определение setDefinition(строка $id, Определение $definition)

Устанавливает определение службы.

Параметры

строка $id Идентификатор службы
Определение $definition Экземпляр Definition

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

Определение определение службы

Исключения

Исключение некорректного вызова метода При компиляции контейнера ContainerBuilder

bool hasDefinition(строка $id)

Возвращает true, если определение службы существует по заданному идентификатору.

Параметры

строка $id Идентификатор службы

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

bool true, если определение службы существует, иначе false

Определение getDefinition(строка $id)

Получает определение службы.

Параметры

строка $id Идентификатор службы

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

Определение Экземпляр Definition

Исключения

Исключение отсутствия службы если определение службы не существует

Определение findDefinition(строка $id)

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

Метод «разрешает» рекурсивно, чтобы вернуть экземпляр Definition.

Параметры

строка $id Идентификатор службы или псевдоним

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

Определение Экземпляр Definition

Исключения

Исключение отсутствия службы если определение службы не существует

смешанный тип resolveServices(смешанный тип $value)

Заменяет ссылки на службы реальными экземплярами служб и вычисляет выражения.

Параметры

смешанный тип $value Значение

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

смешанный тип То же значение со всеми ссылками на службы, замененными реальными экземплярами служб, и все выражения вычислены

массив findTaggedServiceIds(строка $name, bool $throwOnAbstract = false)

Возвращает идентификаторы служб для заданного тега.

Пример:

$container->register('foo')->addTag('my.tag', array('hello' => 'world'));

$serviceIds = $container->findTaggedServiceIds('my.tag'); foreach ($serviceIds as $serviceId => $tags) { foreach ($tags as $tag) { echo $tag['hello']; } }

Параметры

строка $name Имя тега
bool $throwOnAbstract

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

массив Массив тегов

массив findTags()

Возвращает все теги, используемые определенными службами.

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

массив Массив тегов

строка[] findUnusedTags()

Возвращает все теги, не запрошенные findTaggedServiceIds.

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

строка[] Массив тегов

addExpressionLanguageProvider(Интерфейс поставщика функций выражений $provider)

Параметры

Интерфейс поставщика функций выражений $provider

Интерфейс поставщика функций выражений[] getExpressionLanguageProviders()

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

Интерфейс поставщика функций выражений[]

Подчиненное определение registerForAutoconfiguration(строка $interface)

Возвращает ChildDefinition, который будет использоваться для автоконфигурации интерфейса/класса.

Параметры

строка $interface Класс или интерфейс для соответствия

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

Подчиненное определение

Подчиненное определение[] getAutoconfiguredInstanceof()

Возвращает массив ChildDefinition[], индексированный по интерфейсу.

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

Подчиненное определение[]

смешанный тип resolveEnvPlaceholders(смешанный тип $value, строка|истина|null $format = null, массив $usedEnvs = null)

Разрешает замены параметров env в строке или массиве.

Параметры

mixed $value Значение для разрешения
string|true|null $format Формат sprintf(), возвращающий замену для каждого имени переменной среды или null, чтобы разрешить обратно к исходному формату "%env(VAR)%", или true, чтобы разрешить фактические значения ссылочных переменных среды
array $usedEnvs &$usedEnvs Переменные среды, найденные при разрешении, добавляются в этот массив

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

mixed Значение с разрешенными параметрами среды, если передано строка или массив

int[] getEnvCounters()

Получить статистику использования переменных среды.

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

int[] Количество раз, когда каждая переменная среды была разрешена

getNormalizedIds()

log(CompilerPassInterface $pass, $message)

Параметры

CompilerPassInterface $pass
$message

static array getServiceConditionals(mixed $value)

Возвращает условия для сервисов.

Параметры

mixed $value Массив условий для возврата

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

array Массив условий для сервисов

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

Spec-Zone.ru

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