Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TraversalStrategy.php

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

CascadingStrategy

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\Mapping
View 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&#039;s value should be iterated only if it is an
instance of {@link \Traversable}.
TraversalStrategy::NONE public constant Specifies that a node&#039;s value should never be iterated.
TraversalStrategy::TRAVERSE public constant Specifies that a node&#039;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.
RSS feed
Powered by Drupal