Spec-Zone.ru › Symfony 3.0

ContainerBuilder

class ContainerBuilder extends Container implements TaggedContainerInterface

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

Методы

__construct(ParameterBagInterface $parameterBag = null)

Конструктор.

из Контейнера
compile()

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

bool isFrozen()

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

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

bool initialized(string $id)

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

из Контейнера
reset()

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

из Контейнера
array getServiceIds()

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

static string camelize(string $id)

Преобразует строку в «змеиный регистр».

из Контейнера
static string underscore(string $id)

Преобразует строку в «верблюжий регистр».

из Контейнера
setResourceTracking(bool $track)

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

bool isTrackingResources()

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

setProxyInstantiator(InstantiatorInterface $proxyInstantiator)

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

registerExtension(ExtensionInterface $extension)

Регистрирует расширение.

ExtensionInterface getExtension(string $name)

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

ExtensionInterface[] getExtensions()

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

bool hasExtension(string $name)

Проверяет наличие расширения.

ResourceInterface[] getResources()

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

ContainerBuilder addResource(ResourceInterface $resource)

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

ContainerBuilder setResources(array $resources)

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

ContainerBuilder addObjectResource(object $object)

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

ContainerBuilder addClassResource(ReflectionClass $class)

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

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

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

ContainerBuilder addCompilerPass(CompilerPassInterface $pass, string $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(string $id, string $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()
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 когда определения недоступны
LogicException когда обнаружена циклическая зависимость
Exception

См. также

Ссылка

bool initialized(string $id)

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

Параметры

string $id

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

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

reset()

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

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

array getServiceIds()

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

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

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

static string camelize(string $id)

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

Параметры

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

ContainerBuilder addResource(ResourceInterface $resource)

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

Параметры

ResourceInterface $resource Экземпляр ресурса

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

ContainerBuilder Текущий экземпляр

ContainerBuilder setResources(array $resources)

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

Параметры

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

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

ContainerBuilder Текущий экземпляр

ContainerBuilder addObjectResource(object $object)

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

Параметры

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

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

ContainerBuilder Текущий экземпляр

ContainerBuilder addClassResource(ReflectionClass $class)

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

Параметры

ReflectionClass $class

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

ContainerBuilder Текущий экземпляр

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

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

Параметры

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

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

ContainerBuilder Текущий экземпляр

Исключения

BadMethodCallException Когда этот ContainerBuilder заморожен
LogicException если контейнер заморожен

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

Добавляет этап компиляции.

Параметры

CompilerPassInterface $pass Этап компиляции
string $type Тип этапа компиляции

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

ContainerBuilder Текущий экземпляр

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(string $id, string $class = null)

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

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

Параметры

string $id Идентификатор сервиса
string $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

Исключения

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

Definition findDefinition(string $id)

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

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

Параметры

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

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

Definition Экземпляр Definition

Исключения

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

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[]

static array getServiceConditionals(mixed $value)

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

Параметры

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

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

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

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

Spec-Zone.ru

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