class TraversalStrategy
Specifies whether and how a traversable object should be traversed.
If the node traverser traverses a node whose value is an instance of {@link \Traversable}, and if that node is either a class node or if cascading is enabled, then the node's traversal strategy will be checked. Depending on the requested traversal strategy, the node traverser will iterate over the object and cascade each object or collection returned by the iterator.
The traversal strategy is ignored for arrays. Arrays are always iterated.
@author Bernhard Schussek <bschussek@gmail.com>
Hierarchy
- class \Symfony\Component\Validator\Mapping\TraversalStrategy
Expanded class hierarchy of TraversalStrategy
See also
3 files declare their use of TraversalStrategy
- DebugCommand.php in vendor/
symfony/ validator/ Command/ DebugCommand.php - RecursiveContextualValidator.php in vendor/
symfony/ validator/ Validator/ RecursiveContextualValidator.php - TypedDataMetadata.php in core/
lib/ Drupal/ Core/ TypedData/ Validation/ TypedDataMetadata.php
1 string reference to 'TraversalStrategy'
- GenericMetadata::__sleep in vendor/
symfony/ validator/ Mapping/ GenericMetadata.php - Returns the names of the properties that should be serialized.
File
-
vendor/
symfony/ validator/ Mapping/ TraversalStrategy.php, line 30
Namespace
Symfony\Component\Validator\MappingView source
class TraversalStrategy {
/**
* Specifies that a node's value should be iterated only if it is an
* instance of {@link \Traversable}.
*/
public const IMPLICIT = 1;
/**
* Specifies that a node's value should never be iterated.
*/
public const NONE = 2;
/**
* Specifies that a node's value should always be iterated. If the value is
* not an instance of {@link \Traversable}, an exception should be thrown.
*/
public const TRAVERSE = 4;
/**
* Not instantiable.
*/
private function __construct() {
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
TraversalStrategy::IMPLICIT | public | constant | Specifies that a node's value should be iterated only if it is an instance of {@link \Traversable}. |
TraversalStrategy::NONE | public | constant | Specifies that a node's value should never be iterated. |
TraversalStrategy::TRAVERSE | public | constant | Specifies that a node's value should always be iterated. If the value is not an instance of {@link \Traversable}, an exception should be thrown. |
TraversalStrategy::__construct | private | function | Not instantiable. |