File ManagerCurrent Directory: wp-content/plugins/wp-migrate-db/vendor/php-di/php-di/src/DI/InvokerLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: DefinitionParameterResolver.php <?php namespace DeliciousBrains\WPMDB\Container\DI\Invoker; use DeliciousBrains\WPMDB\Container\DI\Definition\Helper\DefinitionHelper; use DeliciousBrains\WPMDB\Container\DI\Definition\Resolver\DefinitionResolver; use DeliciousBrains\WPMDB\Container\Invoker\ParameterResolver\ParameterResolver; use ReflectionFunctionAbstract; /** * Resolves callable parameters using definitions. * * @since 5.0 * @author Matthieu Napoli <matthieu@mnapoli.fr> */ class DefinitionParameterResolver implements ParameterResolver { /** * @var DefinitionResolver */ private $definitionResolver; public function __construct(DefinitionResolver $definitionResolver) { $this->definitionResolver = $definitionResolver; } /** * {@inheritdoc} */ public function getParameters(ReflectionFunctionAbstract $reflection, array $providedParameters, array $resolvedParameters) { // Skip parameters already resolved if (!empty($resolvedParameters)) { $providedParameters = \array_diff_key($providedParameters, $resolvedParameters); } foreach ($providedParameters as $key => $value) { if (!$value instanceof DefinitionHelper) { continue; } $definition = $value->getDefinition(''); $value = $this->definitionResolver->resolve($definition); if (\is_int($key)) { // Indexed by position $resolvedParameters[$key] = $value; } else { // Indexed by parameter name // TODO optimize? $reflectionParameters = $reflection->getParameters(); foreach ($reflectionParameters as $reflectionParameter) { if ($key === $reflectionParameter->name) { $resolvedParameters[$reflectionParameter->getPosition()] = $value; } } } } return $resolvedParameters; } } Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirDefinitionParameterResolver.phpFile1.96 KB Rename | Delete | EditFactoryParameterResolver.phpFile1.93 KB Rename | Delete | Edit