Skip to content

Commit e2f90e5

Browse files
Merge branch '5.4' into 6.3
* 5.4: Dump Valid constaints on debug command #46544 [DependencyInjection] fix dump xml with array/object/enum default value [HttpFoundation] Add a slightly more verbose comment about a warning on UploadedFile [Messenger] BatchHandlerTrait - fix phpdoc typo Remove me from CODEOWNERS Always return bool from messenger amqp conncetion nack [Console] Fix linewraps in OutputFormatter
2 parents b0c4ecf + 0acdcb8 commit e2f90e5

File tree

4 files changed

+157
-69
lines changed

4 files changed

+157
-69
lines changed

Command/DebugCommand.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@
2323
use Symfony\Component\Finder\Exception\DirectoryNotFoundException;
2424
use Symfony\Component\Finder\Finder;
2525
use Symfony\Component\Validator\Constraint;
26+
use Symfony\Component\Validator\Mapping\AutoMappingStrategy;
27+
use Symfony\Component\Validator\Mapping\CascadingStrategy;
2628
use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
2729
use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface;
30+
use Symfony\Component\Validator\Mapping\GenericMetadata;
31+
use Symfony\Component\Validator\Mapping\TraversalStrategy;
2832

2933
/**
3034
* A console command to debug Validators information.
@@ -162,6 +166,31 @@ private function getPropertyData(ClassMetadataInterface $classMetadata, string $
162166

163167
$propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty);
164168
foreach ($propertyMetadata as $metadata) {
169+
$autoMapingStrategy = 'Not supported';
170+
if ($metadata instanceof GenericMetadata) {
171+
switch ($metadata->getAutoMappingStrategy()) {
172+
case AutoMappingStrategy::ENABLED: $autoMapingStrategy = 'Enabled'; break;
173+
case AutoMappingStrategy::DISABLED: $autoMapingStrategy = 'Disabled'; break;
174+
case AutoMappingStrategy::NONE: $autoMapingStrategy = 'None'; break;
175+
}
176+
}
177+
$traversalStrategy = 'None';
178+
if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) {
179+
$traversalStrategy = 'Traverse';
180+
}
181+
if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) {
182+
$traversalStrategy = 'Implicit';
183+
}
184+
185+
$data[] = [
186+
'class' => 'property options',
187+
'groups' => [],
188+
'options' => [
189+
'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None',
190+
'autoMappingStrategy' => $autoMapingStrategy,
191+
'traversalStrategy' => $traversalStrategy,
192+
],
193+
];
165194
foreach ($metadata->getConstraints() as $constraint) {
166195
$data[] = [
167196
'class' => $constraint::class,

0 commit comments

Comments
 (0)