class MemberMetadata extends GenericMetadata implements PropertyMetadataInterface

Stores all metadata needed for validating a class property.

The method of accessing the property's value must be specified by subclasses by implementing the {@link newReflectionMember()} method.

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
string $name
string $property

Methods

string[]
__sleep()

Returns the names of the properties that should be serialized.

__clone()

Clones this object.

addConstraint(Constraint $constraint)

Adds a constraint.

addConstraints(array $constraints)

Adds an list of constraints.

getConstraints()

Returns all constraints of this element.

bool
hasConstraints()

Returns whether this element has any constraints.

findConstraints(string $group)

Returns all constraints for a given validation group.

int
getCascadingStrategy()

Returns the strategy for cascading objects.

int
getTraversalStrategy()

Returns the strategy for traversing traversable objects.

__construct(string $class, string $name, string $property)

Constructor.

string
getName()

Returns the name of the member.

getClassName()

{@inheritdoc}

string
getPropertyName()

Returns the name of the property.

bool
isPublic(object|string $objectOrClassName)

Returns whether this member is public.

bool
isProtected(object|string $objectOrClassName)

Returns whether this member is protected.

bool
isPrivate(object|string $objectOrClassName)

Returns whether this member is private.

getReflectionMember(object|string $objectOrClassName)

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

Details

at line line 97
string[] __sleep()

Returns the names of the properties that should be serialized.

Return Value

string[]

in GenericMetadata at line line 96
__clone()

Clones this object.

at line line 80
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 $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 The constraint to add

Return Value

GenericMetadata This object

Exceptions

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

in GenericMetadata at line line 164
GenericMetadata addConstraints(array $constraints)

Adds an list of constraints.

Parameters

array $constraints The constraints to add

Return Value

GenericMetadata This object

in GenericMetadata at line line 176
Constraint[] getConstraints()

Returns all constraints of this element.

Return Value

Constraint[] A list of Constraint instances

in GenericMetadata at line line 186
bool hasConstraints()

Returns whether this element has any constraints.

Return Value

bool

in GenericMetadata at line line 196
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

in GenericMetadata at line line 206
int getCascadingStrategy()

Returns the strategy for cascading objects.

Return Value

int The cascading strategy

in GenericMetadata at line line 214
int getTraversalStrategy()

Returns the strategy for traversing traversable objects.

Return Value

int The traversal strategy

at line line 70
__construct(string $class, string $name, string $property)

Constructor.

Parameters

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

at line line 111
string getName()

Returns the name of the member.

Return Value

string

at line line 119
getClassName()

{@inheritdoc}

at line line 127
string getPropertyName()

Returns the name of the property.

Return Value

string The property name.

at line line 139
bool isPublic(object|string $objectOrClassName)

Returns whether this member is public.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

at line line 151
bool isProtected(object|string $objectOrClassName)

Returns whether this member is protected.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

at line line 163
bool isPrivate(object|string $objectOrClassName)

Returns whether this member is private.

Parameters

object|string $objectOrClassName The object or the class name

Return Value

bool

at line line 175
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