КлассMetadata
класс ClassMetadata расширяет GenericMetadata и реализует ClassMetadataInterface
Базовое реализация интерфейса {@link ClassMetadataInterface}.
Этот класс поддерживает сериализацию и клонирование.
Свойства
| Constraint[] | $constraints | из GenericMetadata | |
| массив | $constraintsByGroup | из GenericMetadata | |
| целое | $cascadingStrategy | Стратегия каскадирования объектов. | из GenericMetadata |
| целое | $traversalStrategy | Стратегия обхода объектов, поддерживающих итерацию. | |
| строка | $name | ||
| строка | $defaultGroup | ||
| MemberMetadata[] | $members | ||
| PropertyMetadata[] | $properties | ||
| GetterMetadata[] | $getters | ||
| массив | $groupSequence | ||
| логическое значение | $groupSequenceProvider |
Методы
| массив строк | __sleep() Возвращает имена свойств, которые должны быть сериализованы. | |
| __clone() Клонирует этот объект. | из GenericMetadata | |
| GenericMetadata | addConstraint(Constraint $constraint) Добавляет ограничение. | |
| GenericMetadata | addConstraints(массив $constraints) Добавляет список ограничений. | из GenericMetadata |
| Constraint[] | getConstraints() Возвращает все ограничения этого элемента. | из GenericMetadata |
| логическое значение | hasConstraints() Возвращает, имеет ли этот элемент какие-либо ограничения. | из GenericMetadata |
| Constraint[] | findConstraints(строка $group) Возвращает все ограничения для заданной группы валидации. | из GenericMetadata |
| целое | getCascadingStrategy() Узлы класса никогда не каскадируются. | |
| целое | getTraversalStrategy() Возвращает стратегию обхода объектов, поддерживающих итерацию. | из GenericMetadata |
| __construct(строка $class) Создает метаданные для заданного класса. | ||
| строка | getClassName() Возвращает имя базового PHP класса. | |
| строка | getDefaultGroup() Возвращает имя группы по умолчанию для этого класса. | |
| ClassMetadata | addPropertyConstraint(строка $property, Constraint $constraint) Добавляет ограничение к указанному свойству. | |
| ClassMetadata | addPropertyConstraints(строка $property, массив $constraints) | |
| ClassMetadata | addGetterConstraint(строка $property, Constraint $constraint) Добавляет ограничение к методу-геттеру указанного свойства. | |
| ClassMetadata | addGetterConstraints(строка $property, массив $constraints) | |
| mergeConstraints(ClassMetadata $source) Сливает ограничения заданных метаданных в этот объект. | ||
| логическое значение | hasPropertyMetadata(строка $property) Проверяет наличие метаданных, привязанных к указанному свойству. | |
| PropertyMetadataInterface[] | getPropertyMetadata(строка $property) Возвращает все экземпляры метаданных для указанного свойства. | |
| массив строк | getConstrainedProperties() Возвращает имена всех ограниченных свойств. | |
| ClassMetadata | setGroupSequence(массив $groupSequence) Устанавливает последовательность групп по умолчанию для этого класса. | |
| логическое значение | hasGroupSequence() Возвращает, переопределена ли группа "По умолчанию" последовательностью групп. | |
| GroupSequence|null | getGroupSequence() Возвращает последовательность групп, которая переопределяет группу "По умолчанию" для этого класса. | |
| ReflectionClass | getReflectionClass() Возвращает экземпляр ReflectionClass для этого класса. | |
| setGroupSequenceProvider(логическое значение $active) Устанавливает, следует ли использовать поставщика последовательности групп. | ||
| логическое значение | isGroupSequenceProvider() Возвращает, переопределена ли группа "По умолчанию" динамической последовательностью групп, полученной от валидируемых объектов. |
Детали
string[] __sleep()
Возвращает имена свойств, которые должны быть сериализованы.
Результат
| string[] |
__clone()
Клонирует этот объект.
GenericMetadata addConstraint(Constraint $constraint)
Добавляет ограничение.
Если ограничение {@link Valid} добавлено, стратегия каскадирования будет изменена на {@link CascadingStrategy::CASCADE}. В зависимости от свойства $traverse этого ограничения, стратегия обхода будет установлена на одну из следующих:
- {@link TraversalStrategy::IMPLICIT}, если $traverse включен
- {@link TraversalStrategy::NONE}, если $traverse отключен
Параметры
| Constraint | $constraint | Ограничение для добавления |
Результат
| GenericMetadata | Этот объект |
Исключения
| ConstraintDefinitionException | При попытке добавить ограничение {@link Traverse} |
GenericMetadata addConstraints(array $constraints)
Добавляет список ограничений.
Параметры
| array | $constraints | Ограничения для добавления |
Результат
| GenericMetadata | Этот объект |
Constraint[] getConstraints()
Возвращает все ограничения этого элемента.
Результат
| Constraint[] | Список экземпляров Constraint |
bool hasConstraints()
Возвращает, имеет ли этот элемент ограничения.
Результат
| bool |
Constraint[] findConstraints(string $group)
Возвращает все ограничения для заданной группы валидации.
Параметры
| string | $group | Группа валидации |
Результат
| Constraint[] | Список экземпляров ограничений |
int getCascadingStrategy()
Узлы класса никогда не каскадируются.
{@inheritdoc}
Результат
| int | Стратегия каскадирования |
int getTraversalStrategy()
Возвращает стратегию для обхода обходимых объектов.
Результат
| int | Стратегия обхода |
__construct(string $class)
Создаёт метаданные для данного класса.
Параметры
| string | $class |
string getClassName()
Возвращает имя базового класса PHP.
Результат
| string | Имя базового класса. |
string getDefaultGroup()
Возвращает имя группы по умолчанию для этого класса.
Для каждого класса группа "Default" является псевдонимом для группы "<имя_класса>", где <имя_класса> — имя класса без пространства имён. Все ограничения, неявно или явно присвоенные группе "Default", принадлежат обеим этим группам, если класс не определяет последовательность групп.
Если класс определяет последовательность групп, валидация класса в "Default" будет проверять последовательность групп. Ограничения, присвоенные "Default", всё ещё могут быть проверены путём валидации класса в "<имя_класса>".
Результат
| string | Имя группы по умолчанию |
ClassMetadata addPropertyConstraint(string $property, Constraint $constraint)
Добавляет ограничение к указанному свойству.
Параметры
| string | $property | Имя свойства |
| Constraint | $constraint | Ограничение |
Результат
| ClassMetadata | Этот объект |
ClassMetadata addPropertyConstraints(string $property, array $constraints)
Параметры
| string | $property | |
| array | $constraints |
Результат
| ClassMetadata |
ClassMetadata addGetterConstraint(string $property, Constraint $constraint)
Добавляет ограничение к методу-геттеру заданного свойства.
Предполагается, что имя геттера — это имя свойства с заглавной первой буквой и префиксом "get" или "is".
Параметры
| string | $property | Имя свойства |
| Constraint | $constraint | Ограничение |
Результат
| ClassMetadata | Этот объект |
ClassMetadata addGetterConstraints(string $property, array $constraints)
Параметры
| string | $property | |
| array | $constraints |
Результат
| ClassMetadata |
mergeConstraints(ClassMetadata $source)
Объединяет ограничения заданных метаданных в этот объект.
Параметры
| ClassMetadata | $source | Метаданные источника |
bool hasPropertyMetadata(string $property)
Проверяет, есть ли метаданные, присоединённые к свойству с данным именем.
Параметры
| string | $property | Имя свойства. |
Результат
| bool |
PropertyMetadataInterface[] getPropertyMetadata(string $property)
Возвращает все экземпляры метаданных для заданного свойства по имени.
Если ваша реализация не поддерживает свойства, просто выбросьте исключение в этом методе (например, BadMethodCallException).
Параметры
| string | $property | Имя свойства. |
Результат
| PropertyMetadataInterface[] | Список экземпляров метаданных. Пустой, если метаданные для свойства не существуют. |
string[] getConstrainedProperties()
Возвращает имена всех ограниченных свойств.
Результат
| string[] | Список имён свойств |
ClassMetadata setGroupSequence(array $groupSequence)
Устанавливает последовательность групп по умолчанию для этого класса.
Параметры
| array | $groupSequence | Массив имён групп |
Результат
| ClassMetadata |
Исключения
| GroupDefinitionException |
bool hasGroupSequence()
Возвращает, переопределяет ли группа "Default" последовательностью групп.
Если это так, вы можете получить последовательность групп с помощью {@link getGroupSequence()}.
Результат
| bool | Возвращает true, если группа "Default" перезаписана |
GroupSequence|null getGroupSequence()
Возвращает последовательность групп, которая перезаписывает группу "Default" для этого класса.
Значение возвращаемого значения
| GroupSequence|null | Последовательность групп или null |
ReflectionClass getReflectionClass()
Возвращает экземпляр ReflectionClass для этого класса.
Значение возвращаемого значения
| ReflectionClass |
setGroupSequenceProvider(bool $active)
Устанавливает, следует ли использовать поставщик последовательности групп.
Параметры
| bool | $active |
Исключения
| GroupDefinitionException |
bool isGroupSequenceProvider()
Возвращает значение, показывающее, перезаписана ли группа "Default" динамической последовательностью групп, полученной от валидируемых объектов.
Если этот метод возвращает true, класс должен реализовывать {@link \Symfony\Component\Validator\GroupSequenceProviderInterface}. Этот интерфейс будет использован для получения последовательности групп при валидации объекта данного класса.
Значение возвращаемого значения
| bool | Возвращает true, если группа "Default" перезаписана динамической последовательностью групп |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Validator/Mapping/ClassMetadata.html