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

Breadcrumb

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

function DebugCommand::getPropertyData

1 call to DebugCommand::getPropertyData()
DebugCommand::getConstrainedPropertiesData in vendor/symfony/validator/Command/DebugCommand.php

File

vendor/symfony/validator/Command/DebugCommand.php, line 157

Class

DebugCommand
A console command to debug Validators information.

Namespace

Symfony\Component\Validator\Command

Code

private function getPropertyData(ClassMetadataInterface $classMetadata, string $constrainedProperty) : array {
    $data = [];
    $propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty);
    foreach ($propertyMetadata as $metadata) {
        $autoMapingStrategy = 'Not supported';
        if ($metadata instanceof GenericMetadata) {
            $autoMapingStrategy = match ($metadata->getAutoMappingStrategy()) {    AutoMappingStrategy::ENABLED => 'Enabled',
                AutoMappingStrategy::DISABLED => 'Disabled',
                AutoMappingStrategy::NONE => 'None',
            
            };
        }
        $traversalStrategy = 'None';
        if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) {
            $traversalStrategy = 'Traverse';
        }
        if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) {
            $traversalStrategy = 'Implicit';
        }
        $data[] = [
            'class' => 'property options',
            'groups' => [],
            'options' => [
                'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None',
                'autoMappingStrategy' => $autoMapingStrategy,
                'traversalStrategy' => $traversalStrategy,
            ],
        ];
        foreach ($metadata->getConstraints() as $constraint) {
            $data[] = [
                'class' => $constraint::class,
                'groups' => $constraint->groups,
                'options' => $this->getConstraintOptions($constraint),
            ];
        }
    }
    return $data;
}
RSS feed
Powered by Drupal