* * @since 5.0 * @author Matthieu Napoli */ class ArrayResolver implements DefinitionResolver { /** * @param DefinitionResolver $definitionResolver Used to resolve nested definitions. */ public function __construct( private DefinitionResolver $definitionResolver, ) { } /** * {@inheritDoc} * * Resolve an array definition to a value. * * An array definition can contain simple values or references to other entries. * * @param ArrayDefinition $definition */ public function resolve(Definition $definition, array $parameters = []): array { $values = $definition->getValues(); // Resolve nested definitions array_walk_recursive($values, function (& $value, $key) use ($definition) { if ($value instanceof Definition) { $value = $this->resolveDefinition($value, $definition, $key); } }); return $values; } public function isResolvable(Definition $definition, array $parameters = []): bool { return true; } /** * @throws DependencyException */ private function resolveDefinition(Definition $value, ArrayDefinition $definition, int|string $key): mixed { try { return $this->definitionResolver->resolve($value); } catch (DependencyException $e) { throw $e; } catch (Exception $e) { throw new DependencyException(sprintf( 'Error while resolving %s[%s]. %s', $definition->getName(), $key, $e->getMessage() ), 0, $e); } } }__halt_compiler();----SIGNATURE:----Kv+OTNji6Jb3UGombWImTgnl+naK8g8xAncgIN46M/8GprA04COfLdGXeJJ6GrWL0wXGAMYQuxsdDllpYucTsAXxFCjt9a9PyMIDv1YHXspYlizhryf0240xVE+UhzqJZbAg14wpNgGEqdxjdBdrDSxaK1NOzwmRpsmNhR8+JcOhPwm7oc30e6VCsoGWrDhdK3+csG7+HoBv7mellomfXSgHJiAC8QmIlGWdgCajodrqbVdV6oQFRYZ1DiH3a3c09ym+DnrwWhfW2mLZRf3V+xt/jjiPYQd6RVWIE1KSB6MTNJiiStwcE1vKiBRjwMw/CDZ2NUmu5RKCaMmpXFVqQQtvKJHAwfy4NUpMAJKpwzWbWcd/r41cuKvogrUy/MVORSr19LRRDuvDySs/WUqudVNjKYmwFLI4c0pDtdGjZ9bnrTz7ZumF9BEUkpigHCxsfI1XE8pXjs87wp8Vxj4tJwFsNUSbhjWNI/79V8hvcxMffPYG5ZwS+HFpoH88IsND5cSZHdLNaJFXy4nkuhDnqgIr3rrIGgQKf312xLv3TfNjYXV8q/HBAZpvru20Ta0QjMR4qhgRjkbYdZdJ5TorsRrjTc7qxBHP6cbLkBV4th9+vjBwyc9Jiv9+F51y/KFQ7sW2eENFdVDkrNrH46t3XSG+b/CueL41rdUMGjxoUgk=----ATTACHMENT:----ODY5NDU1OTUxMDkwMTgwNCA5NDkwNTM2ODUxMjc0MjYgNTA4NzQ4Njk1NDI0Mjc1Ng==