Spec-Zone.ru › Symfony 4.1

MergeExtensionConfigurationContainerBuilder

class MergeExtensionConfigurationContainerBuilder extends ContainerBuilder

A container builder preventing using methods that wouldn't have any effect from extensions.

Свойства

protected $parameterBag from Container
protected $services from Container
protected $fileMap from Container
protected $methodMap from Container
protected $factories from Container
protected $aliases from Container
protected $loading from Container
protected $resolving from Container
protected $syntheticIds from Container

Методы

__construct(ExtensionInterface $extension, ParameterBagInterface $parameterBag = null)
compile(bool $resolveEnvPlaceholders = false)

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

bool isCompiled()

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

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

из Контейнера билдера
array getRemovedIds()

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

из Контейнера билдера
static string camelize(string $id)

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

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

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

из Контейнера
object load($file)

Создаёт сервис, загрузив его файл-фабрику.

из Контейнера
mixed getEnv(string $name)

Извлекает переменную из окружения.

из Контейнера билдера
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)

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

из Контейнера билдера
ReflectionClass|null getReflectionClass(string|null $class, bool $throw = true)

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

из Контейнера билдера
bool fileExists(string $path, bool|string $trackContents = true)

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

из Контейнера билдера
$this loadFromExtension(string $extension, array $values = null)

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

из Контейнера билдера
$this addCompilerPass(CompilerPassInterface $pass, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION, int $priority = 0)

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

PassConfig getCompilerPassConfig()

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

из Контейнера билдера
Compiler getCompiler()

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

из Контейнера билдера
removeDefinition(string $id)

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

из Контейнера билдера
merge(ContainerBuilder $container)

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

from ContainerBuilder
массив getExtensionConfig(string $name)

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

from ContainerBuilder
prependExtensionConfig(string $name, array $config)

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

from ContainerBuilder
addAliases(array $aliases)

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

from ContainerBuilder
setAliases(array $aliases)

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

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

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

from ContainerBuilder
removeAlias(string $alias)

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

from ContainerBuilder
bool hasAlias(string $id)

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

from ContainerBuilder
Alias[] getAliases()

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

from ContainerBuilder
Alias getAlias(string $id)

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

from ContainerBuilder
Definition register($id, $class = null)

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

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

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

from ContainerBuilder
addDefinitions(array $definitions)

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

from ContainerBuilder
setDefinitions(array $definitions)

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

from ContainerBuilder
Definition[] getDefinitions()

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

from ContainerBuilder
Definition setDefinition(string $id, Definition $definition)

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

from ContainerBuilder
bool hasDefinition(string $id)

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

from ContainerBuilder
Definition getDefinition(string $id)

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

from ContainerBuilder
Definition findDefinition(string $id)

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

from ContainerBuilder
mixed resolveServices(mixed $value)

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

from ContainerBuilder
массив findTaggedServiceIds(string $name, bool $throwOnAbstract = false)

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

from ContainerBuilder
массив findTags()

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

from ContainerBuilder
массив строк findUnusedTags()

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

from ContainerBuilder
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) from ContainerBuilder
ExpressionFunctionProviderInterface[] getExpressionLanguageProviders() from ContainerBuilder
ChildDefinition registerForAutoconfiguration(string $interface)

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

from ContainerBuilder
ChildDefinition[] getAutoconfiguredInstanceof()

Возвращает массив ChildDefinition[] с ключами по интерфейсам.

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

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

массив целых чисел getEnvCounters()

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

from ContainerBuilder
log(CompilerPassInterface $pass, string $message) from ContainerBuilder
статический массив getServiceConditionals(mixed $value)

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

from ContainerBuilder
статический массив getInitializedConditionals(mixed $value)

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

from ContainerBuilder
статический string hash(mixed $value)

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

из ContainerBuilder

Подробности

__construct(ExtensionInterface $extension, ParameterBagInterface $parameterBag = null)

Параметры

ExtensionInterface $extension
ParameterBagInterface $parameterBag

compile(bool $resolveEnvPlaceholders = false)

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

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

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

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

Параметры

bool $resolveEnvPlaceholders Является ли необходимо разрешение параметров %env()% с использованием текущих переменных среды или они заменяются уникальными идентификаторами замены. Установите в "true", если вы хотите использовать текущий ContainerBuilder непосредственно, сохраните в "false", если контейнер вместо этого экспортируется.

bool isCompiled()

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

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

bool

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

array getRemovedIds()

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

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

array

static string camelize(string $id)

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

Параметры

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

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

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

static string underscore(string $id)

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

Параметры

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

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

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

protected object load($file)

Создает сервис, загрузив его файл фабрики.

Параметры

$file

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

object Созданный сервисом файл

protected mixed getEnv(string $name)

Извлекает переменную из среды.

Параметры

string $name Имя переменной среды

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

mixed Значение, используемое для предоставленного имени переменной среды

Исключения

EnvNotFoundException При отсутствии переменной среды и отсутствии значения по умолчанию

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

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

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

Параметры

string|null $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 = null)

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

Параметры

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

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

$this

Исключения

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

$this addCompilerPass(CompilerPassInterface $pass, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION, int $priority = 0)

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

Параметры

CompilerPassInterface $pass Компиляционный проход
string $type Тип компиляционного прохода
int $priority Используется для сортировки проходов

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

$this

PassConfig getCompilerPassConfig()

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

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

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

Compiler getCompiler()

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

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

Compiler Компилятор

removeDefinition(string $id)

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

Параметры

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

merge(ContainerBuilder $container)

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

Определения сервисов перезаписывают текущие.

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

$container = new ContainerBuilder(new ParameterBag(array('foo' => 'bar')));
$loader = new LoaderXXX($container);
$loader->load('resource_name');
$container->register('foo', '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 если идентификатор не является строкой или псевдонимом
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, string|null $class = null)

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

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

Параметры

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

Исключения

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 если определение сервиса не существует

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[] Количество раз, когда каждая переменная среды была разрешена

log(CompilerPassInterface $pass, string $message)

Параметры

CompilerPassInterface $pass
string $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.
https://api.symfony.com/4.1/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationContainerBuilder.html

Spec-Zone.ru

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