PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 3.0.1
Defender Security – Malware Scanner, Login Security & Firewall v3.0.1
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / vendor / php-di / invoker / src / ParameterResolver / DefaultValueResolver.php

DefaultValueResolver.php in Defender Security – Malware Scanner, Login Security & Firewall 3.0.1, at vendor/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