Spec-Zone.ru › Symfony 3.2

ContainerBuilder

class ContainerBuilder extends Container implements TaggedContainerInterface

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

Методы

__construct(ParameterBagInterface $parameterBag = null)
compile()

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

bool isFrozen()

Возвращает 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)

Приводит строку к верблюжьему регистру.

из Container
static string underscore(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 $object)

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

$this addClassResource(ReflectionClass $class)

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

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

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

addDefinitions(array $definitions)

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

setDefinitions(array $definitions)

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

Definition[] getDefinitions()

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

Definition setDefinition(string $id, Definition $definition)

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

bool hasDefinition(string $id)

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

Definition getDefinition(string $id)

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

Definition findDefinition(string $id)

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

mixed resolveServices(mixed $value)

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

array findTaggedServiceIds(string $name)

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

array findTags()

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

string[] findUnusedTags()

Возвращает все теги, не запрошенные функцией findTaggedServiceIds.

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
ExpressionFunctionProviderInterface[] getExpressionLanguageProviders()
string resolveEnvPlaceholders(mixed $value, string|null $format = null, array $usedEnvs = null)

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

int[] getEnvCounters()

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

static array getServiceConditionals(mixed $value)

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

Подробности

__construct(ParameterBagInterface $parameterBag = null)

Параметры

ParameterBagInterface $parameterBag Экземпляр ParameterBagInterface

compile()

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

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

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

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

bool isFrozen()

Возвращает 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 Когда сервис не определен
Исключение

См. также

Ссылка

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

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 $object)

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

Параметры

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

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

$this

$this addClassResource(ReflectionClass $class)

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

Параметры

ReflectionClass $class

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

$this

$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 Экземпляр ContainerBuilder для объединения

Исключения

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, если псевдоним существует под заданным идентификатором.

Параметры

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

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)

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

Пример:

$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 Имя тега

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

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

array findTags()

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

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

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

string[] findUnusedTags()

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

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

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

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)

Параметры

ExpressionFunctionProviderInterface $provider

ExpressionFunctionProviderInterface[] getExpressionLanguageProviders()

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

ExpressionFunctionProviderInterface[]

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

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

Параметры

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

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

string Строка с разрешенными параметрами среды

int[] getEnvCounters()

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

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

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

static array getServiceConditionals(mixed $value)

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

Параметры

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

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

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

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

Spec-Zone.ru

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