Spec-Zone.ru › Symfony 3.0

ExecutionContext

класс ExecutionContext реализует 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())

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

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

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

ConstraintViolationListInterface getViolations()

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

ValidatorInterface getValidator()

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

mixed getRoot()

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

mixed getValue()

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

object|null getObject()

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

MetadataInterface|null getMetadata()

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

string getGroup()

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

string|null getClassName()

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

string|null getPropertyName()

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

string getPropertyPath(string $subPath = '')

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

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

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

Параметры

string $message Сообщение об ошибке
array $parameters

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\ClassMetadataInterface}, если текущее значение является объектом, экземпляр {@link Mapping\PropertyMetadata}, если текущее значение является значением свойства, и экземпляр {@link Mapping\GetterMetadata}, если проверяемое значение является результатом метода геттера.

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

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

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

string getGroup()

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

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

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

string|null getClassName()

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

Если метаданные текущего узла не реализуют {@link Mapping\ClassMetadataInterface} или если метаданные недоступны для текущего узла, этот метод возвращает 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 Текущий путь к свойству. Результат может быть пустой строкой, если валидатор в данный момент проверяет корневое значение графа валидации.

markGroupAsValidated(string $cacheKey, string $groupHash)

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

Параметры

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

bool isGroupValidated(string $cacheKey, string $groupHash)

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

Параметры

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

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

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

markConstraintAsValidated(string $cacheKey, string $constraintHash)

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

Параметры

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

bool isConstraintValidated(string $cacheKey, string $constraintHash)

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

Параметры

string $cacheKey Хэш объекта
string $constraintHash Хэш привязки

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

bool Была ли привязка уже проверена

markObjectAsInitialized(string $cacheKey)

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

Параметры

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

bool isObjectInitialized(string $cacheKey)

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

Параметры

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

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

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

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

Spec-Zone.ru

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