class TraversalStrategy in Plug 7
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.
@since 2.1 @author Bernhard Schussek <bschussek@gmail.com>
Hierarchy
- class \Symfony\Component\Validator\Mapping\TraversalStrategy
Expanded class hierarchy of TraversalStrategy
See also
1 file declares its use of TraversalStrategy
- RecursiveContextualValidator.php in lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Validator/ RecursiveContextualValidator.php
File
- lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Mapping/ TraversalStrategy.php, line 31
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}.
*/
const IMPLICIT = 1;
/**
* Specifies that a node's value should never be iterated.
*/
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.
*/
const TRAVERSE = 4;
/**
* Specifies that nested instances of {@link \Traversable} should never be
* iterated. Can be combined with {@link IMPLICIT} or {@link TRAVERSE}.
*
* @deprecated This constant was added for backwards compatibility only.
* It will be removed in Symfony 3.0.
* @internal
*/
const STOP_RECURSION = 8;
/**
* Not instantiable.
*/
private function __construct() {
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TraversalStrategy:: |
constant | Specifies that a node's value should be iterated only if it is an instance of {@link \Traversable}. | ||
TraversalStrategy:: |
constant | Specifies that a node's value should never be iterated. | ||
TraversalStrategy:: |
constant | Specifies that nested instances of {@link \Traversable} should never be iterated. Can be combined with {@link IMPLICIT} or {@link TRAVERSE}. | ||
TraversalStrategy:: |
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:: |
private | function | Not instantiable. |