PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.10.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.10.1
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 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / addons / lib / ioc / php-di / invoker / src / ParameterResolver / DefaultValueResolver.php
cookiebot / addons / lib / ioc / php-di / invoker / src / ParameterResolver Last commit date
Container 7 years ago AssociativeArrayResolver.php 7 years ago DefaultValueResolver.php 7 years ago NumericArrayResolver.php 7 years ago ParameterResolver.php 7 years ago ResolverChain.php 7 years ago TypeHintResolver.php 7 years ago
DefaultValueResolver.php
41 lines
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 <matthieu@mnapoli.fr>
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