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