Spec-Zone.ru › Symfony 2.8

ExecutionContext deprecated

class ExecutionContext implements ExecutionContextInterface

deprecated

since version 2.5, to be removed in 3.0. Use {@link Context\ExecutionContext} instead.

Стандартная реализация {@link ExecutionContextInterface}.

Этот класс неизменяемый по своей конструкции.

Методы

__construct(GlobalExecutionContextInterface $globalContext, TranslatorInterface $translator, null|string $translationDomain = null, MetadataInterface $metadata = null, mixed $value = null, string $group = null, string $propertyPath = '')

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

addViolation(string $message, array $params = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)

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

addViolationAt(string $subPath, string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)

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

ConstraintViolationListInterface getViolations()

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

mixed getRoot()

Возвращает значение, с которого началась валидация в графе объекта.

string getPropertyPath(string $subPath = '')

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

string|null getClassName()

Возвращает имя класса текущего узла.

string|null getPropertyName()

Возвращает имя свойства текущего узла.

mixed getValue()

Возвращает значение, которое валидатор в настоящее время проверяет.

string getGroup()

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

MetadataInterface|null getMetadata()

Возвращает метаданные для текущего проверяемого значения.

getMetadataFor($value)

{@inheritdoc}

validate(mixed $value, string $subPath = '', null|string|string[] $groups = null, bool $traverse = false, bool $deep = false)

Проверяет заданное значение в рамках текущей валидации.

validateValue(mixed $value, Constraint|Constraint[] $constraints, string $subPath = '', null|string|string[] $groups = null)

Проверяет значение по ограничению.

MetadataFactoryInterface getMetadataFactory()

Возвращает используемую фабрику метаданных.

Подробности

__construct(GlobalExecutionContextInterface $globalContext, TranslatorInterface $translator, null|string $translationDomain = null, MetadataInterface $metadata = null, mixed $value = null, string $group = null, string $propertyPath = '')

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

Параметры

GlobalExecutionContextInterface $globalContext Глобальный контекст, хранящий состояние, не зависящее от узла
TranslatorInterface $translator Переводчик для перевода сообщений о нарушениях
null|string $translationDomain Домен сообщений валидации
MetadataInterface $metadata Метаданные проверяемого узла
mixed $value Значение проверяемого узла
string $group Текущая группа валидации
string $propertyPath Путь к свойству текущего узла

addViolation(string $message, array $params = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)

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

Примечание: параметры $invalidValue, $plural и $code устарели с версии 2.5 и будут удалены в версии 3.0.

Параметры

string $message Сообщение об ошибке
array $params Параметры, подставляемые в сообщение об ошибке
mixed $invalidValue Неверное, проверенное значение
int|null $plural Число для множественного числа сообщения
int|null $code Код нарушения

addViolationAt(string $subPath, string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)

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

Параметры

string $subPath Относительный путь к свойству для нарушения
string $message Сообщение об ошибке
array $parameters Параметры, подставляемые в сообщение об ошибке
mixed $invalidValue Неверное, проверенное значение
int|null $plural Число для множественного числа сообщения
int|null $code Код нарушения

ConstraintViolationListInterface getViolations()

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

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

ConstraintViolationListInterface Список нарушений ограничений

mixed getRoot()

Возвращает значение, в котором началась валидация в графе объектов.

Валидатор, получив объект, проходит по свойствам и связанным объектам и их свойствам. Корень валидации — объект, с которого начался обход.

Текущее значение возвращается методом {@link getValue}.

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

mixed Корневое значение валидации

string getPropertyPath(string $subPath = '')

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

Например, рассмотрим следующую графу объектов:

(Person)---($address: Address)---($street: string)

Когда экземпляр Person передаётся валидатору, путь свойства изначально пустой. Когда проверяется свойство $address этого человека, путь свойства становится "address". Когда проверяется свойство $street связанного экземпляра Address, путь свойства становится "address.street".

Свойства объектов в пути к свойству предваряются точкой. Индексы массивов или объектов, реализующих интерфейс {@link \ArrayAccess}, заключены в квадратные скобки. Например, если свойство в предыдущем примере — $addresses и содержит массив экземпляров Address, путь к свойству, сгенерированный для свойства $street одного из этих адресов, например, будет "addresses[0].street".

Параметры

string $subPath Необязательно. Суффикс, добавляемый к текущему пути к свойству.

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

string Текущий путь к свойству. Результатом может быть пустая строка, если валидатор в данный момент проверяет корневое значение графа валидации.

string|null getClassName()

Возвращает имя класса текущего узла.

Если метаданные текущего узла не реализуют {@link ClassBasedInterface} или если метаданные недоступны для текущего узла, этот метод возвращает null.

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

string|null Имя класса или null, если имя класса не найдено

string|null getPropertyName()

Возвращает имя свойства текущего узла.

Если метаданные текущего узла не реализуют {@link PropertyMetadataInterface} или если метаданные недоступны для текущего узла, этот метод возвращает null.

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

string|null Имя свойства или null, если имя свойства не найдено

mixed getValue()

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

Если требуется получить объект, который изначально был передан валидатору, используйте {@link getRoot}.

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

mixed Текущее проверяемое значение

string getGroup()

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

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

string Текущая группа валидации

MetadataInterface|null getMetadata()

Возвращает метаданные для текущего проверяемого значения.

В реализации ядра этот метод возвращает экземпляр {@link Mapping\ClassMetadata}, если текущее значение — объект, экземпляр {@link Mapping\PropertyMetadata}, если текущее значение — значение свойства, и экземпляр {@link Mapping\GetterMetadata}, если проверяемое значение — результат метода-геттера.

Если проверяемое значение не соответствует ни одному из этих случаев, например, если валидатор был вызван со значением и ограничением, этот метод возвращает null.

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

MetadataInterface|null Метаданные текущего проверяемого значения.

getMetadataFor($value)

{@inheritdoc}

Параметры

$value

validate(mixed $value, string $subPath = '', null|string|string[] $groups = null, bool $traverse = false, bool $deep = false)

Проверяет данное значение в рамках текущей валидации.

Значение может быть любым значением, распознаваемым фабрикой метаданных (см. {@link MetadataFactoryInterface::getMetadata}), или массивом или итерируемым объектом таких значений.

Обычно вы проверяете значение, которое не является текущим узлом контекста выполнения. Для этого случая вы можете передать аргумент {@link $subPath}, который добавляется к текущему пути к свойству при создании нарушения. Например, рассмотрим следующую графу объектов:

(Person)---($address: Address)---($phoneNumber: PhoneNumber)
                    ^

Когда контекст выполнения останавливается на экземпляре Person, путь к свойству равен "address". Когда вы сейчас проверяете экземпляр PhoneNumber, передайте "phoneNumber" как подпуть, чтобы правильно изменить путь к свойству на "address.phoneNumber":

$context->validate($address->phoneNumber, 'phoneNumber');

Любые нарушения, сгенерированные во время проверки, будут добавлены в список нарушений, к которому вы можете получить доступ с помощью {@link getViolations}.

Параметры

mixed $value Значение для проверки
string $subPath Путь, который нужно добавить к пути к свойству контекста
null|string|string[] $groups Группы, которые нужно проверить. Если вы не передаёте какие-либо группы, будет использоваться текущая группа контекста.
bool $traverse Определяет, нужно ли пройти по значению, если оно является массивом или экземпляром \Traversable.
bool $deep Определяет, нужно ли рекурсивно пройти по значению, если это коллекция коллекций.

validateValue(mixed $value, Constraint|Constraint[] $constraints, string $subPath = '', null|string|string[] $groups = null)

Проверяет значение относительно ограничения.

Используйте параметр $subPath, чтобы адаптировать путь к свойству для проверяемого значения. Например, рассмотрим следующую графу объектов:

(Person)---($address: Address)---($street: string)
                    ^

Когда валидатор проверяет экземпляр Address, путь к свойству, хранящийся в контексте выполнения, равен "address". Когда вы вручную проверяете свойство $street, передайте подпуть "street", чтобы изменить полный путь к свойству на "address.street":

$context->validate($address->street, new NotNull(), 'street');

Параметры

mixed $value Значение для проверки
Constraint|Constraint[] $constraints Ограничения для проверки
string $subPath Путь для добавления к пути свойства контекста
null|string|string[] $groups Группы для проверки. Если вы не передаёте группы, используется текущая группа контекста.

MetadataFactoryInterface getMetadataFactory()

Возвращает используемую фабрику метаданных.

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

MetadataFactoryInterface Фабрика метаданных

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Validator/ExecutionContext.html

Spec-Zone.ru

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