diff --git a/composer.json b/composer.json index 1a95a4d..1e7c143 100644 --- a/composer.json +++ b/composer.json @@ -18,6 +18,9 @@ "forum": "https://discourse.laminas.dev" }, "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + }, "sort-packages": true }, "extra": { diff --git a/src/ParameterMatcher.php b/src/ParameterMatcher.php index f1a4925..51fbbf9 100644 --- a/src/ParameterMatcher.php +++ b/src/ParameterMatcher.php @@ -17,6 +17,7 @@ use Laminas\Stdlib\ResponseInterface; use ReflectionException; use ReflectionFunction; +use ReflectionNamedType; use ReflectionObject; use function count; @@ -68,8 +69,9 @@ public function getMatchedParameters($callable, $parameters): array foreach ($reflMethodParams as $reflMethodParam) { $paramName = $reflMethodParam->getName(); $normalMethodParamName = str_replace(['-', '_'], '', strtolower($paramName)); - if ($reflectionTypehint = $reflMethodParam->getClass()) { - $typehint = $reflectionTypehint->getName(); + $reflectionType = $reflMethodParam->getType(); + if ($reflectionType instanceof ReflectionNamedType && ! $reflectionType->isBuiltin()) { + $typehint = $reflectionType->getName(); if ( $typehint === PhpEnvironmentRequest::class