ClassMetadata
class ClassMetadata extends GenericMetadata implements ClassMetadataInterface
Default implementation of {@link ClassMetadataInterface}.
This class supports serialization and cloning.
Properties
Constraint[] | $constraints | from GenericMetadata | |
array | $constraintsByGroup | from GenericMetadata | |
int | $cascadingStrategy | The strategy for cascading objects. | from GenericMetadata |
int | $traversalStrategy | The strategy for traversing traversable objects. | |
string | $name | ||
string | $defaultGroup | ||
MemberMetadata[] | $members | ||
PropertyMetadata[] | $properties | ||
GetterMetadata[] | $getters | ||
array | $groupSequence | ||
bool | $groupSequenceProvider |
Methods
string[] | __sleep() Returns the names of the properties that should be serialized. | |
__clone() Clones this object. | from GenericMetadata | |
$this | addConstraint(Constraint $constraint) Adds a constraint. | |
$this | addConstraints(array $constraints) Adds an list of constraints. | from GenericMetadata |
Constraint[] | getConstraints() Returns all constraints of this element. | from GenericMetadata |
bool | hasConstraints() Returns whether this element has any constraints. | from GenericMetadata |
Constraint[] | findConstraints(string $group) Returns all constraints for a given validation group. | from GenericMetadata |
int | getCascadingStrategy() Class nodes are never cascaded. | |
int | getTraversalStrategy() Returns the strategy for traversing traversable objects. | from GenericMetadata |
__construct(string $class) | ||
string | getClassName() Returns the name of the backing PHP class. | |
string | getDefaultGroup() Returns the name of the default group for this class. | |
$this | addPropertyConstraint(string $property, Constraint $constraint) Adds a constraint to the given property. | |
$this | addPropertyConstraints(string $property, array $constraints) | |
$this | addGetterConstraint(string $property, Constraint $constraint) Adds a constraint to the getter of the given property. | |
$this | addGetterMethodConstraint(string $property, string $method, Constraint $constraint) Adds a constraint to the getter of the given property. | |
$this | addGetterConstraints(string $property, array $constraints) | |
$this | addGetterMethodConstraints(string $property, string $method, array $constraints) | |
mergeConstraints(ClassMetadata $source) Merges the constraints of the given metadata into this object. | ||
bool | hasPropertyMetadata(string $property) Check if there's any metadata attached to the given named property. | |
PropertyMetadataInterface[] | getPropertyMetadata(string $property) Returns all metadata instances for the given named property. | |
string[] | getConstrainedProperties() Returns the names of all constrained properties. | |
$this | setGroupSequence(array $groupSequence) Sets the default group sequence for this class. | |
bool | hasGroupSequence() Returns whether the "Default" group is overridden by a group sequence. | |
GroupSequence|null | getGroupSequence() Returns the group sequence that overrides the "Default" group for this class. | |
ReflectionClass | getReflectionClass() Returns a ReflectionClass instance for this class. | |
setGroupSequenceProvider(bool $active) Sets whether a group sequence provider should be used. | ||
bool | isGroupSequenceProvider() Returns whether the "Default" group is overridden by a dynamic group sequence obtained by the validated objects. |
Details
string[] __sleep()
Returns the names of the properties that should be serialized.
Return Value
string[] |
__clone()
Clones this object.
$this addConstraint(Constraint $constraint)
Adds a constraint.
If the constraint {@link Valid} is added, the cascading strategy will be changed to {@link CascadingStrategy::CASCADE}. Depending on the $traverse property of that constraint, the traversal strategy will be set to one of the following:
- {@link TraversalStrategy::IMPLICIT} if $traverse is enabled
- {@link TraversalStrategy::NONE} if $traverse is disabled
Parameters
Constraint | $constraint |
Return Value
$this |
Exceptions
ConstraintDefinitionException | When trying to add the {@link Traverse} constraint |
$this addConstraints(array $constraints)
Adds an list of constraints.
Parameters
array | $constraints | The constraints to add |
Return Value
$this |
Constraint[] getConstraints()
Returns all constraints of this element.
Return Value
Constraint[] | A list of Constraint instances |
bool hasConstraints()
Returns whether this element has any constraints.
Return Value
bool |
Constraint[] findConstraints(string $group)
Returns all constraints for a given validation group.
Parameters
string | $group | The validation group |
Return Value
Constraint[] | A list of constraint instances |
int getCascadingStrategy()
Class nodes are never cascaded.
{@inheritdoc}
Return Value
int | The cascading strategy |
int getTraversalStrategy()
Returns the strategy for traversing traversable objects.
Return Value
int | The traversal strategy |
__construct(string $class)
Parameters
string | $class |
string getClassName()
Returns the name of the backing PHP class.
Return Value
string | The name of the backing class |
string getDefaultGroup()
Returns the name of the default group for this class.
For each class, the group "Default" is an alias for the group "
If a class defines a group sequence, validating the class in "Default" will validate the group sequence. The constraints assigned to "Default" can still be validated by validating the class in "
Return Value
string | The name of the default group |
$this addPropertyConstraint(string $property, Constraint $constraint)
Adds a constraint to the given property.
Parameters
string | $property | The name of the property |
Constraint | $constraint | The constraint |
Return Value
$this |
$this addPropertyConstraints(string $property, array $constraints)
Parameters
string | $property | |
array | $constraints |
Return Value
$this |
$this addGetterConstraint(string $property, Constraint $constraint)
Adds a constraint to the getter of the given property.
The name of the getter is assumed to be the name of the property with an uppercased first letter and either the prefix "get" or "is".
Parameters
string | $property | The name of the property |
Constraint | $constraint | The constraint |
Return Value
$this |
$this addGetterMethodConstraint(string $property, string $method, Constraint $constraint)
Adds a constraint to the getter of the given property.
Parameters
string | $property | The name of the property |
string | $method | The name of the getter method |
Constraint | $constraint | The constraint |
Return Value
$this |
$this addGetterConstraints(string $property, array $constraints)
Parameters
string | $property | |
array | $constraints |
Return Value
$this |
$this addGetterMethodConstraints(string $property, string $method, array $constraints)
Parameters
string | $property | |
string | $method | |
array | $constraints |
Return Value
$this |
mergeConstraints(ClassMetadata $source)
Merges the constraints of the given metadata into this object.
Parameters
ClassMetadata | $source |
bool hasPropertyMetadata(string $property)
Check if there's any metadata attached to the given named property.
Parameters
string | $property | The property name |
Return Value
bool |
PropertyMetadataInterface[] getPropertyMetadata(string $property)
Returns all metadata instances for the given named property.
If your implementation does not support properties, simply throw an exception in this method (for example a BadMethodCallException).
Parameters
string | $property | The property name |
Return Value
PropertyMetadataInterface[] | A list of metadata instances. Empty if no metadata exists for the property. |
string[] getConstrainedProperties()
Returns the names of all constrained properties.
Return Value
string[] | A list of property names |
$this setGroupSequence(array $groupSequence)
Sets the default group sequence for this class.
Parameters
array | $groupSequence | An array of group names |
Return Value
$this |
Exceptions
GroupDefinitionException |
bool hasGroupSequence()
Returns whether the "Default" group is overridden by a group sequence.
If it is, you can access the group sequence with {@link getGroupSequence()}.
Return Value
bool | Returns true if the "Default" group is overridden |
GroupSequence|null getGroupSequence()
Returns the group sequence that overrides the "Default" group for this class.
Return Value
GroupSequence|null | The group sequence or null |
ReflectionClass getReflectionClass()
Returns a ReflectionClass instance for this class.
Return Value
ReflectionClass |
setGroupSequenceProvider(bool $active)
Sets whether a group sequence provider should be used.
Parameters
bool | $active |
Exceptions
GroupDefinitionException |
bool isGroupSequenceProvider()
Returns whether the "Default" group is overridden by a dynamic group sequence obtained by the validated objects.
If this method returns true, the class must implement {@link \Symfony\Component\Validator\GroupSequenceProviderInterface}. This interface will be used to obtain the group sequence when an object of this class is validated.
Return Value
bool | Returns true if the "Default" group is overridden by a dynamic group sequence |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Validator/Mapping/ClassMetadata.html