OptionsResolverWrapper
class OptionsResolverWrapper extends OptionsResolver
Методы
| $this | setDefault(string $option, mixed $value) Устанавливает значение по умолчанию для заданного параметра. | из OptionsResolver |
| $this | setDefaults(array $defaults) Устанавливает список значений по умолчанию. | из OptionsResolver |
| bool | hasDefault(string $option) Возвращает, установлено ли значение по умолчанию для параметра. | из OptionsResolver |
| $this | setRequired(string|string[] $optionNames) Отмечает один или несколько параметров как обязательные. | из OptionsResolver |
| bool | isRequired(string $option) Возвращает, является ли параметр обязательным. | из OptionsResolver |
| string[] | getRequiredOptions() Возвращает имена всех обязательных параметров. | из OptionsResolver |
| bool | isMissing(string $option) Возвращает, отсутствует ли значение по умолчанию для параметра. | из OptionsResolver |
| string[] | getMissingOptions() Возвращает имена всех параметров, у которых отсутствует значение по умолчанию. | из OptionsResolver |
| $this | setDefined(string|string[] $optionNames) Определяет допустимое имя параметра. | из OptionsResolver |
| bool | isDefined(string $option) Возвращает, определен ли параметр. | из OptionsResolver |
| string[] | getDefinedOptions() Возвращает имена всех определённых параметров. | из OptionsResolver |
| $this | setNormalizer(string $option, Closure $normalizer) Устанавливает нормализатор для параметра. | |
| $this | setAllowedValues(string $option, mixed $allowedValues) Устанавливает допустимые значения для параметра. | |
| $this | addAllowedValues(string $option, mixed $allowedValues) Добавляет допустимые значения для параметра. | |
| $this | setAllowedTypes(string $option, string|string[] $allowedTypes) Устанавливает допустимые типы для параметра. | |
| $this | addAllowedTypes(string $option, string|string[] $allowedTypes) Добавляет допустимые типы для параметра. | |
| $this | remove(string|string[] $optionNames) Удаляет параметр с заданным именем. | из OptionsResolver |
| $this | clear() Удаляет все параметры. | из OptionsResolver |
| array | resolve(array $options = array()) Объединяет параметры со значениями по умолчанию, хранящимися в контейнере, и проверяет их. | |
| mixed | offsetGet(string $option) Возвращает разрешенное значение параметра. | из OptionsResolver |
| bool | offsetExists(string $option) Возвращает, существует ли разрешенный параметр с данным именем. | из OptionsResolver |
| offsetSet($option, $value) Не поддерживается. | из OptionsResolver | |
| offsetUnset($option) Не поддерживается. | из OptionsResolver | |
| int | count() Возвращает количество установленных параметров. | из OptionsResolver |
| getUndefinedOptions() |
Подробности
$this setDefault(string $option, mixed $value)
Устанавливает значение по умолчанию для заданного параметра.
Если значение по умолчанию должно устанавливаться на основе других параметров, вы можете передать замыкание со следующим сигнатуром:
function (Options $options) {
// ...
}
Замыкание будет вычислено при вызове {@link resolve()}. Замыкание имеет доступ к разрешенным значениям других параметров через переданный экземпляр {@link Options} :
function (Options $options) {
if (isset($options['port'])) {
// ...
}
}
Если вы хотите получить ранее установленное значение по умолчанию, добавьте второй аргумент в сигнатуру замыкания:
$options->setDefault('name', 'Default Name');
$options->setDefault('name', function (Options $options, $previousValue) {
// 'Default Name' === $previousValue
});
Это преимущественно полезно, если конфигурация объекта {@link Options} распределена по разным частям вашего кода, например, в базовых и подклассах.
Параметры
| string | $option | Имя параметра |
| mixed | $value | Значение по умолчанию параметра |
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
$this setDefaults(array $defaults)
Устанавливает список значений по умолчанию.
Параметры
| array | $defaults | Значения по умолчанию для установки |
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
bool hasDefault(string $option)
Возвращает, установлено ли значение по умолчанию для параметра.
Возвращает true, если был вызван {@link setDefault()} для данного параметра. Параметр также считается установленным, если он был установлен в null.
Параметры
| string | $option | Имя параметра |
Возвращаемое значение
| bool | Установлено ли значение по умолчанию |
$this setRequired(string|string[] $optionNames)
Помечает один или несколько параметров как обязательные.
Параметры
| string|string[] | $optionNames | Одно или несколько имён параметров |
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
bool isRequired(string $option)
Возвращает, является ли параметр обязательным.
Параметр является обязательным, если он был передан в {@link setRequired()}.
Параметры
| string | $option | Имя параметра |
Возвращаемое значение
| bool | Является ли параметр обязательным |
string[] getRequiredOptions()
Возвращает имена всех обязательных параметров.
Возвращаемое значение
| string[] | Имена обязательных параметров |
См. также
| isRequired() |
bool isMissing(string $option)
Возвращает, отсутствует ли значение по умолчанию для параметра.
Параметр отсутствует, если он был передан в {@link setRequired()}, но не в {@link setDefault()}. Этот параметр должен быть явно передан в {@link resolve()}, в противном случае будет выброшено исключение.
Параметры
| string | $option | Имя параметра |
Возвращаемое значение
| bool | Отсутствует ли параметр |
string[] getMissingOptions()
Возвращает имена всех параметров, для которых отсутствует значение по умолчанию.
Возвращаемое значение
| string[] | Имена отсутствующих параметров |
См. также
| isMissing() |
$this setDefined(string|string[] $optionNames)
Определяет допустимое имя параметра.
Определяет имя параметра без установки значения по умолчанию. Параметр будет принят при передаче в {@link resolve()}. При отсутствии передачи параметр не будет включён в разрешенные параметры.
Параметры
| string|string[] | $optionNames | Одно или несколько имён параметров |
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
bool isDefined(string $option)
Возвращает, определён ли параметр.
Возвращает true для любого параметра, переданного в {@link setDefault()}, {@link setRequired()} или {@link setDefined()}.
Параметры
| string | $option | Имя параметра |
Возвращаемое значение
| bool | Определён ли параметр |
string[] getDefinedOptions()
Возвращает имена всех определённых параметров.
Возвращаемое значение
| string[] | Имена определённых параметров |
См. также
| isDefined() |
$this setNormalizer(string $option, Closure $normalizer)
Устанавливает нормализатор для параметра.
Нормализация должна быть замыканием со следующим сигнатуром:
function (Options $options, $value) {
// ...
}
Замыкание вызывается при вызове {@link resolve()}. Замыкание имеет доступ к разрешенным значениям других параметров через переданный экземпляр {@link Options}.
Вторым параметром, передаваемым в замыкание, является значение параметра.
Разрешенное значение параметра устанавливается в возвращаемое значение замыкания.
Параметры
| string | $option | Имя параметра |
| Closure | $normalizer | Нормализация |
Возвращаемое значение
| $this |
Исключения
| UndefinedOptionsException | Если параметр не определён |
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
$this setAllowedValues(string $option, mixed $allowedValues)
Устанавливает допустимые значения для параметра.
Вместо значений, вы также можете передать замыкание со следующим сигнатуром:
function ($value) {
// return true or false
}
Замыкание принимает значение в качестве аргумента и должно вернуть true для принятия значения и false для отклонения.
Параметры
| string | $option | Имя параметра |
| mixed | $allowedValues | Одно или несколько допустимых значений/замыканий |
Возвращаемое значение
| $this |
Исключения
| UndefinedOptionsException | Если параметр не определён |
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
$this addAllowedValues(string $option, mixed $allowedValues)
Добавляет допустимые значения для параметра.
Значения объединяются с ранее определёнными допустимыми значениями.
Вместо значений, вы также можете передать замыкание со следующим сигнатуром:
function ($value) {
// return true or false
}
Замыкание принимает значение в качестве аргумента и должно вернуть true для принятия значения и false для отклонения.
Параметры
| string | $option | Имя параметра |
| mixed | $allowedValues | Одно или несколько допустимых значений/замыканий |
Возвращаемое значение
| $this |
Исключения
| UndefinedOptionsException | Если параметр не определён |
| AccessException | Если вызов происходит из ленивого параметра или нормализатора |
$this setAllowedTypes(string $option, string|string[] $allowedTypes)
Устанавливает допустимые типы для параметра.
Любой тип, для которого существует соответствующая функция is_
Параметры
| string | $option | Имя параметра |
| string|string[] | $allowedTypes | Один или несколько допустимых типов |
Возвращаемое значение
| $this |
Исключения
| UndefinedOptionsException | Если опция не определена |
| AccessException | Если вызов произошёл из ленивой опции или нормализатора |
$this addAllowedTypes(string $option, string|string[] $allowedTypes)
Добавляет разрешённые типы для опции.
Типы объединяются с ранее определёнными разрешёнными типами.
Приемлемы любые типы, для которых существует соответствующая функция is_
Параметры
| string | $option | Имя опции |
| string|string[] | $allowedTypes | Один или несколько допустимых типов |
Возвращаемое значение
| $this |
Исключения
| UndefinedOptionsException | Если опция не определена |
| AccessException | Если вызов произошёл из ленивой опции или нормализатора |
$this remove(string|string[] $optionNames)
Удаляет опцию с заданным именем.
Неопределённые опции игнорируются.
Параметры
| string|string[] | $optionNames | Одно или несколько имён опций |
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов произошёл из ленивой опции или нормализатора |
$this clear()
Удаляет все опции.
Возвращаемое значение
| $this |
Исключения
| AccessException | Если вызов произошёл из ленивой опции или нормализатора |
array resolve(array $options = array())
Объединяет опции со значениями по умолчанию, хранящимися в контейнере, и проверяет их.
Исключения генерируются, если:
- Переданы неопределённые опции;
- Отсутствуют необходимые опции;
- Опции имеют недопустимые типы;
- Опции имеют недопустимые значения.
Параметры
| array | $options | Словарь имён опций и их значений |
Возвращаемое значение
| array | Объединённые и проверенные опции |
Исключения
| UndefinedOptionsException | Если имя опции не определено |
| InvalidOptionsException | Если опция не соответствует заданным правилам валидации |
| MissingOptionsException | Если отсутствует необходимая опция |
| OptionDefinitionException | Если существует циклическая зависимость между ленивыми опциями и/или нормализаторами |
| NoSuchOptionException | Если ленивая опция считывает недоступную опцию |
| AccessException | Если вызов произошёл из ленивой опции или нормализатора |
mixed offsetGet(string $option)
Возвращает решённое значение опции.
Параметры
| string | $option | Имя опции |
Возвращаемое значение
| mixed | Значение опции |
Исключения
| AccessException | Если доступ к методу осуществляется за пределами {@link resolve()} |
| NoSuchOptionException | Если опция не установлена |
| InvalidOptionsException | Если опция не соответствует заданным правилам валидации |
| OptionDefinitionException | Если существует циклическая зависимость между ленивыми опциями и/или нормализаторами |
bool offsetExists(string $option)
Возвращает, существует ли решённая опция с заданным именем.
Параметры
| string | $option | Имя опции |
Возвращаемое значение
| bool | Установлена ли опция |
Исключения
| AccessException | Если доступ к методу осуществляется за пределами {@link resolve()} |
См. также
| \ArrayAccess::offsetExists() |
offsetSet($option, $value)
Не поддерживается.
Параметры
| $option | ||
| $value |
Исключения
| AccessException |
offsetUnset($option)
Не поддерживается.
Параметры
| $option |
Исключения
| AccessException |
int count()
Возвращает количество установленных опций.
Это может быть только подмножество определённых опций.
Возвращаемое значение
| int | Количество опций |
Исключения
| AccessException | Если доступ к методу осуществляется за пределами {@link resolve()} |
См. также
| \Countable::count() |
getUndefinedOptions()
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Form/Util/OptionsResolverWrapper.html