PluginProbe
Elementor Website Builder – more than just a page builder / 3.27.4
Elementor Website Builder – more than just a page builder v3.27.4
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / vendor_prefixed / php-di / invoker / src / ParameterResolver / AssociativeArrayResolver.php

AssociativeArrayResolver.php in Elementor Website Builder – more than just a page builder 3.27.4, at vendor_prefixed/php-di/invoker/src/ParameterResolver/AssociativeArrayResolver.php

32 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare (strict_types=1);
4 namespace ElementorDeps\Invoker\ParameterResolver;
5
6 use ReflectionFunctionAbstract;
7 /**
8 * Tries to map an associative array (string-indexed) to the parameter names.
9 *
10 * E.g. `->call($callable, ['foo' => 'bar'])` will inject the string `'bar'`
11 * in the parameter named `$foo`.
12 *
13 * Parameters that are not indexed by a string are ignored.
14 */
15 class AssociativeArrayResolver implements ParameterResolver
16 {
17 public function getParameters(ReflectionFunctionAbstract $reflection, array $providedParameters, array $resolvedParameters) : array
18 {
19 $parameters = $reflection->getParameters();
20 // Skip parameters already resolved
21 if (!empty($resolvedParameters)) {
22 $parameters = \array_diff_key($parameters, $resolvedParameters);
23 }
24 foreach ($parameters as $index => $parameter) {
25 if (\array_key_exists($parameter->name, $providedParameters)) {
26 $resolvedParameters[$index] = $providedParameters[$parameter->name];
27 }
28 }
29 return $resolvedParameters;
30 }
31 }
32