ExecutionContext deprecated
class ExecutionContext implements ExecutionContextInterface
deprecated
Стандартная реализация {@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