PropertyMetadata

class PropertyMetadata extends MemberMetadata

Stores all metadata needed for validating a class property.

The value of the property is obtained by directly accessing the property. The property will be accessed by reflection, so the access of private and protected properties is supported.

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. from GenericMetadata
string $class from MemberMetadata
string $name from MemberMetadata
string $property from MemberMetadata

Methods

string[] __sleep()

Returns the names of the properties that should be serialized.

from MemberMetadata
__clone()

Clones this object.

from GenericMetadata
GenericMetadata addConstraint(Constraint $constraint)

Adds a constraint.

from MemberMetadata
GenericMetadata 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()

Returns the strategy for cascading objects.

from GenericMetadata
int getTraversalStrategy()

Returns the strategy for traversing traversable objects.

from GenericMetadata
accept(ValidationVisitorInterface $visitor, mixed $value, string|string[] $group, string $propertyPath, $propagatedGroup = null) deprecated

Exists for compatibility with the deprecated {@link Symfony\Component\Validator\MetadataInterface}.

from MemberMetadata
__construct(string $class, string $name)

Constructor.

string getName()

Returns the name of the member.

from MemberMetadata
string getClassName()

Returns the name of the backing PHP class.

from MemberMetadata
string getPropertyName()

Returns the name of the property.

from MemberMetadata
bool isPublic(object|string $objectOrClassName)

Returns whether this member is public.

from MemberMetadata
bool isProtected(object|string $objectOrClassName)

Returns whether this member is protected

from MemberMetadata
bool isPrivate(object|string $objectOrClassName)

Returns whether this member is private.

from MemberMetadata
bool isCascaded() deprecated

Returns whether objects stored in this member should be validated.

from MemberMetadata
bool isCollectionCascaded() deprecated

Returns whether arrays or traversable objects stored in this member should be traversed and validated in each entry.

from MemberMetadata
bool isCollectionCascadedDeeply() deprecated

Returns whether arrays or traversable objects stored in this member should be traversed recursively for inner arrays/traversable objects.

from MemberMetadata
ReflectionMethod|ReflectionProperty getReflectionMember(object|string $objectOrClassName)

Returns the reflection instance for accessing the member's value.

from MemberMetadata
mixed getPropertyValue($object)

Extracts the value of the property from the given container.

Details

string[] __sleep()

Returns the names of the properties that should be serialized.

Return Value

string[]

__clone()

Clones this object.

GenericMetadata 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 properties $traverse and $deep of that constraint, the traversal strategy will be set to one of the following:

  • {@link TraversalStrategy::IMPLICIT} if $traverse is enabled and $deep is enabled
  • {@link TraversalStrategy::IMPLICIT} | {@link TraversalStrategy::STOP_RECURSION} if $traverse is enabled, but $deep is disabled
  • {@link TraversalStrategy::NONE} if $traverse is disabled

Parameters

Constraint $constraint The constraint to add

Return Value

GenericMetadata This object

Exceptions

ConstraintDefinitionException When trying to add the {@link Traverse} constraint

GenericMetadata addConstraints(array $constraints)

Adds an list of constraints.

Parameters

array $constraints The constraints to add

Return Value

GenericMetadata This object

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()

Returns the strategy for cascading objects.

Return Value

int The cascading strategy

int getTraversalStrategy()

Returns the strategy for traversing traversable objects.

Return Value

int The traversal strategy

accept(ValidationVisitorInterface $visitor, mixed $value, string|string[] $group, string $propertyPath, $propagatedGroup = null) deprecated

deprecated

Deprecated since version 2.5, to be removed in Symfony 3.0.

Exists for compatibility with the deprecated {@link Symfony\Component\Validator\MetadataInterface}.

Should not be used.

Parameters

ValidationVisitorInterface $visitor The visitor implementing the validation logic
mixed $value The value to validate
string|string[] $group The validation group to validate in
string $propertyPath The current property path in the validation graph
$propagatedGroup

Exceptions

BadMethodCallException

__construct(string $class, string $name)

Constructor.

Parameters

string $class The name of the class this member is defined on
string $name The name of the member

Exceptions

ValidatorException

string getName()

Returns the name of the member.

Return Value

string

string getClassName()

Returns the name of the backing PHP class.

Return Value

string The name of the backing class.

string getPropertyName()

Returns the name of the property.

Return Value

string The property name.

bool isPublic(object|string $objectOrClassName)

Returns whether this member is public.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

bool isProtected(object|string $objectOrClassName)

Returns whether this member is protected

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

bool isPrivate(object|string $objectOrClassName)

Returns whether this member is private.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

bool isCascaded() deprecated

deprecated

Deprecated since version 2.5, to be removed in Symfony 3.0. Use {@link getCascadingStrategy()} instead.

Returns whether objects stored in this member should be validated.

Return Value

bool

bool isCollectionCascaded() deprecated

deprecated

Deprecated since version 2.5, to be removed in Symfony 3.0. Use {@link getTraversalStrategy()} instead.

Returns whether arrays or traversable objects stored in this member should be traversed and validated in each entry.

Return Value

bool

bool isCollectionCascadedDeeply() deprecated

deprecated

Deprecated since version 2.5, to be removed in Symfony 3.0. Use {@link getTraversalStrategy()} instead.

Returns whether arrays or traversable objects stored in this member should be traversed recursively for inner arrays/traversable objects.

Return Value

bool

ReflectionMethod|ReflectionProperty getReflectionMember(object|string $objectOrClassName)

Returns the reflection instance for accessing the member's value.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

ReflectionMethod|ReflectionProperty The reflection instance

mixed getPropertyValue($object)

Extracts the value of the property from the given container.

Parameters

$object

Return Value

mixed The value of the property.

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