Spec-Zone.ru › Symfony 3.2

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) устаревшее

Реализация шаблона проектирования Visitor.

Constraint[] findConstraints(string $group)

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

Подробности

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

устаревшее

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

Реализация шаблона проектирования Visitor.

Вызывает {@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/3.2/Symfony/Component/Validator/MetadataInterface.html

Spec-Zone.ru

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