Spec-Zone.ru › Symfony 2.7

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, string $scope = self::SCOPE_CONTAINER)

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

bool has(string $id)

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

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

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

bool initialized(string $id)

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

из Container
array getServiceIds()

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

enterScope(string $name)

Вызывается при входе в область.

из Container
leaveScope(string $name)

Вызывается для выхода из текущей области и возврата в родительскую область.

из Container
addScope(ScopeInterface $scope)

Добавляет область в контейнер.

из Container
bool hasScope(string $name)

Возвращает, есть ли в этом контейнере определённая область.

из Container
bool isScopeActive(string $name)

Возвращает, активна ли в данный момент эта область.

из Container
static string camelize(string $id)

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

из 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, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)

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

PassConfig getCompilerPassConfig()

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

Compiler getCompiler()

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

array getScopes()

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

array getScopeChildren()

Возвращает всех потомков области.

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)

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

object createService(Definition $definition, string $id, bool $tryProxy = true)

Создаёт сервис для определения сервиса.

mixed resolveServices(mixed $value)

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

array findTaggedServiceIds(string $name)

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

array findTags()

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

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
ExpressionFunctionProviderInterface[] getExpressionLanguageProviders()
static array getServiceConditionals(mixed $value)

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

Подробности

__construct(ParameterBagInterface $parameterBag = null)

Параметры

ParameterBagInterface $parameterBag

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 $scope = self::SCOPE_CONTAINER)

Устанавливает службу.

Параметры

string $id Идентификатор службы
object $service Экземпляр службы
string $scope Область видимости службы

Исключения

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

array getServiceIds()

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

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

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

enterScope(string $name)

Вызывается при входе в область видимости.

Параметры

string $name

Исключения

RuntimeException Если родительская область видимости неактивна
InvalidArgumentException Если область видимости не существует

leaveScope(string $name)

Вызывается для выхода из текущей области видимости и возврата к родительской.

Параметры

string $name

Исключения

InvalidArgumentException если область видимости не активна

addScope(ScopeInterface $scope)

Добавляет область видимости в контейнер.

Параметры

ScopeInterface $scope

Исключения

InvalidArgumentException

bool hasScope(string $name)

Возвращает, имеет ли этот контейнер определенную область видимости.

Параметры

string $name

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

bool

bool isScopeActive(string $name)

Возвращает, активна ли в данный момент данная область видимости.

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

Параметры

string $name

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

bool

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

$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, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION)

Добавляет компиляционную фазу.

Параметры

CompilerPassInterface $pass Компиляционная фаза
string $type Тип компиляционной фазы

Значение результата

$this

PassConfig getCompilerPassConfig()

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

Значение результата

PassConfig Конфигурация компиляционной фазы

Compiler getCompiler()

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

Значение результата

Compiler Компилятор

array getScopes()

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

Значение результата

array Массив областей

array getScopeChildren()

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

Значение результата

array Массив дочерних областей

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

Параметры

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)

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

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

Параметры

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

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

Definition Экземпляр Definition

Исключения

ServiceNotFoundException если определение службы не существует

object createService(Definition $definition, string $id, bool $tryProxy = true)

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

Параметры

Definition $definition Экземпляр определения службы
string $id Идентификатор службы
bool $tryProxy Попытка создания прокси-службы с отложенной загрузкой

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

object Служба, описанная определением службы

Исключения

RuntimeException При неактивном контексте
RuntimeException При незавершенном определении фабрики
RuntimeException При синтетической службе
InvalidArgumentException При невыполнимой функции configure

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 Массив тегов

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/2.7/Symfony/Component/DependencyInjection/ContainerBuilder.html

Spec-Zone.ru

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