Spec-Zone.ru › Symfony 3.4

MetadataInterface устаревшее

интерфейс MetadataInterface

устаревшее

since версия 2.5, будет удалена в 3.0. Используйте {@link Mapping\MetadataInterface} вместо этого.

Контейнер для метаданных валидации.

Контейнер содержит ограничения, которые могут принадлежать к различным группам валидации. Ограничения для конкретной группы можно получить, вызвав {@link findConstraints}.

Реализуйте этот интерфейс, чтобы добавить метаданные валидации в свой собственный слой метаданных. Каждая метаданная может иметь именованные свойства. Каждое свойство может быть представлено одним или несколькими экземплярами {@link PropertyMetadataInterface}, которые возвращаются {@link getPropertyMetadata}. Поскольку PropertyMetadataInterface наследуется от MetadataInterface, каждое свойство может быть разделено на дальнейшие свойства.

Метод {@link accept} каждой метаданной реализует шаблон проектирования Посетитель. Метод должен передать вызов методу посетителя {@link ValidationVisitorInterface::visit} и дополнительно вызвать accept() для всех структурно связанных экземпляров метаданных.

Например, чтобы хранить ограничения для классов PHP и их свойств, создайте класс ClassMetadata (реализующий MetadataInterface) и класс PropertyMetadata (реализующий PropertyMetadataInterface). ClassMetadata::getPropertyMetadata($property) возвращает все экземпляры PropertyMetadata для свойства этого класса. Его метод accept() просто передает вызов ValidationVisitorInterface::visit() и вызывает accept() для всех содержащихся экземпляров PropertyMetadata, которые сами вызывают ValidationVisitorInterface::visit() снова.

Методы

accept(ValidationVisitorInterface $visitor, mixed $value, string|string[] $group, string $propertyPath) устаревшее

Реализация паттерна проектирования Посетитель.

Constraint[] findConstraints(string $group)

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

Подробности

accept(ValidationVisitorInterface $visitor, mixed $value, string|string[] $group, string $propertyPath) устаревшее

устаревшее

since версия 2.5, будет удалена в 3.0.

Реализация паттерна проектирования Посетитель.

Вызывает {@link ValidationVisitorInterface::visit} и затем передает вызов accept() всем экземплярам метаданных свойств.

Параметры

ValidationVisitorInterface $visitor Посетитель, реализующий логику валидации
mixed $value Значение для валидации
string|string[] $group Группа валидации для валидации
string $propertyPath Текущий путь к свойству в графе валидации

Constraint[] findConstraints(string $group)

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

Параметры

string $group Группа валидации

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

Constraint[] Список экземпляров ограничений

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

Spec-Zone.ru

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