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