N°6934 - Symfony 6.4 - upgrade Symfony bundles to 6.4 (#580)

* Update Symfony lib to version ~6.4.0
* Update code missing return type
* Add an iTop general configuration entry to store application secret (Symfony mandatory parameter)
* Use dependency injection in ExceptionListener & UserProvider classes
This commit is contained in:
bdalsass
2023-12-05 13:56:56 +01:00
committed by GitHub
parent 863ab4560c
commit 27ce51ab07
1392 changed files with 44869 additions and 27799 deletions

View File

@@ -33,6 +33,8 @@ class CheckDefinitionValidityPass implements CompilerPassInterface
/**
* Processes the ContainerBuilder to validate the Definition.
*
* @return void
*
* @throws RuntimeException When the Definition is invalid
*/
public function process(ContainerBuilder $container)
@@ -62,11 +64,7 @@ class CheckDefinitionValidityPass implements CompilerPassInterface
// tag attribute values must be scalars
foreach ($definition->getTags() as $name => $tags) {
foreach ($tags as $attributes) {
foreach ($attributes as $attribute => $value) {
if (!\is_scalar($value) && null !== $value) {
throw new RuntimeException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $id, $name, $attribute));
}
}
$this->validateAttributes($id, $name, $attributes);
}
}
@@ -87,4 +85,16 @@ class CheckDefinitionValidityPass implements CompilerPassInterface
}
}
}
private function validateAttributes(string $id, string $tag, array $attributes, array $path = []): void
{
foreach ($attributes as $name => $value) {
if (\is_array($value)) {
$this->validateAttributes($id, $tag, $value, [...$path, $name]);
} elseif (!\is_scalar($value) && null !== $value) {
$name = implode('.', [...$path, $name]);
throw new RuntimeException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $id, $tag, $name));
}
}
}
}