Spec-Zone.ru › Symfony 3.4

ContainerBuilder

class ContainerBuilder extends Container implements TaggedContainerInterface

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

Методы

__construct(ParameterBagInterface $parameterBag = null)
compile()

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

bool isCompiled()

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

from Container
bool isFrozen() deprecated

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

from Container
ParameterBagInterface getParameterBag()

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

from Container
mixed getParameter(string $name)

Возвращает параметр.

from Container
bool hasParameter(string $name)

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

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

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

from 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, если данный сервис был инициализирован.

from Container
reset()

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

from Container
array getServiceIds()

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

array getRemovedIds()

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

static string camelize(string $id)

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

from Container
static string underscore(string $id)

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

from Container
string normalizeId(string $id)

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

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

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

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)

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

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

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

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)

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

int[] getEnvCounters()

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

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

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

static array getInitializedConditionals(mixed $value)

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

static string hash(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 Массив всех определённых идентификаторов сервисов

array getRemovedIds()

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

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

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)

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

Параметры

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

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

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

Параметры

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

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

Alias

Исключения

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

removeAlias(string $alias)

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

Параметры

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

bool hasAlias(string $id)

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

Параметры

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

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

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

Alias[] getAliases()

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

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

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

Alias getAlias(string $id)

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

Параметры

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

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

Alias Объект Alias

Исключения

InvalidArgumentException если псевдоним не существует

Definition register($id, $class = null)

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

Этот метод позволяет просто зарегистрировать определение сервиса с помощью интерактивного интерфейса.

Параметры

$id
$class

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

Definition Объект Definition

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

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

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

Параметры

string $id Идентификатор сервиса
null|string $class Класс сервиса

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

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

addDefinitions(array $definitions)

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

Параметры

array $definitions Массив определений сервисов

setDefinitions(array $definitions)

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

Параметры

array $definitions Массив определений сервисов

Definition[] getDefinitions()

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

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

Definition[] Массив объектов Definition

Definition setDefinition(string $id, Definition $definition)

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

Параметры

string $id Идентификатор сервиса
Definition $definition Объект Definition

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

Definition определение сервиса

Исключения

BadMethodCallException При компиляции этого ContainerBuilder

bool hasDefinition(string $id)

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

Параметры

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

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

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

Definition getDefinition(string $id)

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

Параметры

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

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

Definition Объект Definition

Исключения

ServiceNotFoundException если определение сервиса не существует

Definition findDefinition(string $id)

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

Метод рекурсивно "разрешает" псевдонимы, чтобы вернуть объект Definition.

Параметры

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

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

Definition Объект Definition

Исключения

ServiceNotFoundException если определение сервиса не существует

mixed resolveServices(mixed $value)

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

Параметры

mixed $value Значение

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

mixed То же значение со всеми ссылками на сервисы, замененными на реальные экземпляры сервисов, и все выражения вычислены

array findTaggedServiceIds(string $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']; } }

Параметры

string $name Имя тега
bool $throwOnAbstract

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

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

array findTags()

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

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

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

string[] findUnusedTags()

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

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

string[] Массив тегов

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)

Параметры

ExpressionFunctionProviderInterface $provider

ExpressionFunctionProviderInterface[] getExpressionLanguageProviders()

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

ExpressionFunctionProviderInterface[]

ChildDefinition registerForAutoconfiguration(string $interface)

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

Параметры

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

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

ChildDefinition

ChildDefinition[] getAutoconfiguredInstanceof()

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

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

ChildDefinition[]

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

Разрешает параметры замены переменных окружения в строке или массиве.

Параметры

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 Массив условий сервиса

static array getInitializedConditionals(mixed $value)

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

Параметры

mixed $value Массив условных значений для возвращения

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

array Массив неинициализированных условий

static string hash(mixed $value)

Вычисляет достаточно уникальный хеш значения.

Параметры

mixed $value Сериализуемое значение

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

string

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

Spec-Zone.ru

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