Spec-Zone.ru › Symfony 2.7

ExecutionContext

class ExecutionContext implements ExecutionContextInterface

Контекст, используемый и создаваемый {@link ExecutionContextFactory}.

Методы

__construct(ValidatorInterface $validator, mixed $root, TranslatorInterface $translator, string|null $translationDomain = null)

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

setNode(mixed $value, object|null $object, MetadataInterface $metadata = null, string $propertyPath)

Устанавливает текущее проверяемое значение.

setGroup(string|null $group)

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

setConstraint(Constraint $constraint)

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

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

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

ConstraintViolationBuilderInterface buildViolation(string $message, array $parameters = array())

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

ConstraintViolationListInterface getViolations()

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

ValidatorInterface getValidator()

Возвращает валидатор.

mixed getRoot()

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

mixed getValue()

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

object|null getObject()

Возвращает текущий проверяемый объект.

MetadataInterface|null getMetadata()

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

string getGroup()

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

getConstraint()
string|null getClassName()

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

string|null getPropertyName()

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

string getPropertyPath(string $subPath = '')

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

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

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

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()

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

markGroupAsValidated(string $cacheKey, string $groupHash)

Помечает объект как проверенный в определённой группе проверки.

bool isGroupValidated(string $cacheKey, string $groupHash)

Возвращает, был ли объект проверен в определённой группе проверки.

markConstraintAsValidated(string $cacheKey, string $constraintHash)

Помечает ограничение как проверенное для объекта.

bool isConstraintValidated(string $cacheKey, string $constraintHash)

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

markObjectAsInitialized(string $cacheKey)

Помечает, что объект был инициализирован.

bool isObjectInitialized(string $cacheKey)

Возвращает, был ли объект инициализирован.

Подробности

__construct(ValidatorInterface $validator, mixed $root, TranslatorInterface $translator, string|null $translationDomain = null)

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

Параметры

ValidatorInterface $validator Валидатор
mixed $root Корневое значение графа валидируемых объектов
TranslatorInterface $translator Переводчик
string|null $translationDomain Домен перевода для использования при переводе сообщений об ошибках

setNode(mixed $value, object|null $object, MetadataInterface $metadata = null, string $propertyPath)

Устанавливает текущее валидируемое значение.

Параметры

mixed $value Валидируемое значение
object|null $object Текущий валидируемый объект
MetadataInterface $metadata Метаданные валидации
string $propertyPath Путь к свойству текущего значения

setGroup(string|null $group)

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

Параметры

string|null $group Валидируемая группа

setConstraint(Constraint $constraint)

Устанавливает текущее валидируемое ограничение.

Параметры

Constraint $constraint Валидируемое ограничение

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

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

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

Параметры

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

ConstraintViolationBuilderInterface buildViolation(string $message, array $parameters = array())

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

Вызовите {@link ConstraintViolationBuilderInterface::addViolation()}, чтобы добавить нарушение после завершения настройки:

$context->buildViolation('Please enter a number between %min% and %max%.')
    ->setParameter('%min%', 3)
    ->setParameter('%max%', 10)
    ->setTranslationDomain('number_validation')
    ->addViolation();

Параметры

string $message Сообщение об ошибке
array $parameters Параметры, заменяемые в сообщении об ошибке

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

ConstraintViolationBuilderInterface Билдер нарушений

ConstraintViolationListInterface getViolations()

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

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

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

ValidatorInterface getValidator()

Возвращает валидатор.

Полезно, если вы хотите валидировать дополнительные ограничения:

public function validate($value, Constraint $constraint)
{
    $validator = $this->context->getValidator();

    $violations = $validator->validateValue($value, new Length(array('min' => 3)));

    if (count($violations) > 0) {
        // ...
    }
}

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

ValidatorInterface

mixed getRoot()

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

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

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

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

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

mixed getValue()

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

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

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

mixed Текущее валидируемое значение

object|null getObject()

Возвращает текущий валидируемый объект.

Если валидатор в настоящее время валидирует ограничение класса, возвращается объект этого класса. Если валидируется свойство или ограничение геттера, возвращается объект, к которому принадлежит свойство/геттер.

В других случаях возвращается null.

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

object|null Текущий валидируемый объект или null

MetadataInterface|null getMetadata()

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

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

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

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

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

string getGroup()

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

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

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

getConstraint()

string|null getClassName()

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

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

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

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

string|null getPropertyName()

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

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

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

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

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 Текущий путь к свойству. Результатом может быть пустая строка, если валидатор в настоящее время валидирует корневое значение графа валидации.

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

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

Параметры

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

validate(смешанный тип $value, строка $subPath = '', null|строка|массив строк $groups = null, булево $traverse = false, булево $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}.

Параметры

смешанный тип $value Значение для проверки
строка $subPath Путь для добавления к пути свойства контекста
null|строка|массив строк $groups Группы для проверки. Если вы не передаете здесь никаких групп, будет использоваться текущая группа контекста.
булево $traverse Следует ли перебирать значение, если оно является массивом или экземпляром \Traversable.
булево $deep Следует ли рекурсивно перебирать значение, если это коллекция коллекций.

validateValue(смешанный тип $value, Ограничение|Ограничение[] $constraints, строка $subPath = '', null|строка|массив строк $groups = null)

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

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

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

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

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

Параметры

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

Фабрика метаданных getMetadataFactory()

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

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

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

markGroupAsValidated(строка $cacheKey, строка $groupHash)

Помечает объект как проверенный в определенной группе проверки.

Параметры

строка $cacheKey Хэш объекта
строка $groupHash Имя или хэш группы, если это последовательность групп

булево isGroupValidated(строка $cacheKey, строка $groupHash)

Возвращает, был ли объект проверен в определенной группе проверки.

Параметры

строка $cacheKey Хэш объекта
строка $groupHash Имя или хэш группы, если это последовательность групп

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

булево Был ли объект уже проверен для этой группы

markConstraintAsValidated(строка $cacheKey, строка $constraintHash)

Помечает ограничение как проверенное для объекта.

Параметры

строка $cacheKey Хэш объекта
строка $constraintHash Хэш ограничения

булево isConstraintValidated(строка $cacheKey, строка $constraintHash)

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

Параметры

строка $cacheKey Хэш объекта
строка $constraintHash Хэш ограничения

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

булево Было ли ограничение уже проверено

markObjectAsInitialized(строка $cacheKey)

Помечает, что объект был инициализирован.

Параметры

строка $cacheKey Хэш объекта

булево isObjectInitialized(строка $cacheKey)

Возвращает, был ли объект инициализирован.

Параметры

строка $cacheKey Хэш объекта

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

булево Был ли объект уже инициализирован

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

Spec-Zone.ru

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