PluginProbe
Smash Balloon Social Post Feed – Simple Social Feeds for WordPress / 4.9.0
Smash Balloon Social Post Feed – Simple Social Feeds for WordPress v4.9.0
4.12.0 4.10.0 4.9.0 4.8.1 trunk 1.0 1.1 1.12.1 1.2.3 1.2.4 1.2.5 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.4.0 1.4.1 1.4.2 All 171 releases
custom-facebook-feed / vendor / php-di / invoker / src / ParameterResolver / DefaultValueResolver.php
DefaultValueResolver.php
38 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace FacebookFeed\Vendor\Invoker\ParameterResolver;
5
6 use ReflectionException;
7 use ReflectionFunctionAbstract;
8 /**
9 * Finds the default value for a parameter, *if it exists*.
10 */
11 class DefaultValueResolver implements ParameterResolver
12 {
13 public function getParameters(ReflectionFunctionAbstract $reflection, array $providedParameters, array $resolvedParameters): array
14 {
15 $parameters = $reflection->getParameters();
16 // Skip parameters already resolved
17 if (!empty($resolvedParameters)) {
18 $parameters = array_diff_key($parameters, $resolvedParameters);
19 }
20 foreach ($parameters as $index => $parameter) {
21 \assert($parameter instanceof \ReflectionParameter);
22 if ($parameter->isDefaultValueAvailable()) {
23 try {
24 $resolvedParameters[$index] = $parameter->getDefaultValue();
25 } catch (ReflectionException $e) {
26 // Can't get default values from PHP internal classes and functions
27 }
28 } else {
29 $parameterType = $parameter->getType();
30 if ($parameterType && $parameterType->allowsNull()) {
31 $resolvedParameters[$index] = null;
32 }
33 }
34 }
35 return $resolvedParameters;
36 }
37 }
38