PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.11.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.11.1
4.7.4 4.7.5 4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 All 95 releases
cookiebot / addons / lib / ioc / php-di / invoker / src / ParameterResolver / DefaultValueResolver.php

DefaultValueResolver.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.11.1, at addons/lib/ioc/php-di/invoker/src/ParameterResolver/DefaultValueResolver.php

41 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 namespace Invoker\ParameterResolver;
4
5 use ReflectionException;
6 use ReflectionFunctionAbstract;
7
8 /**
9 * Finds the default value for a parameter, *if it exists*.
10 *
11 * @author Matthieu Napoli <[email protected]>
12 */
13 class DefaultValueResolver implements ParameterResolver
14 {
15 public function getParameters(
16 ReflectionFunctionAbstract $reflection,
17 array $providedParameters,
18 array $resolvedParameters
19 ) {
20 $parameters = $reflection->getParameters();
21
22 // Skip parameters already resolved
23 if (! empty($resolvedParameters)) {
24 $parameters = array_diff_key($parameters, $resolvedParameters);
25 }
26
27 foreach ($parameters as $index => $parameter) {
28 /** @var \ReflectionParameter $parameter */
29 if ($parameter->isOptional()) {
30 try {
31 $resolvedParameters[$index] = $parameter->getDefaultValue();
32 } catch (ReflectionException $e) {
33 // Can't get default values from PHP internal classes and functions
34 }
35 }
36 }
37
38 return $resolvedParameters;
39 }
40 }
41