Fix ReflectionType::__toString() is deprecated

As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.

https://www.php.net/manual/en/reflectionparameter.gettype.php
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
This commit is contained in:
Daniel Kesselberg 2019-10-12 22:40:03 +02:00
parent 9d6a58e6ae
commit ace74ef866
No known key found for this signature in database
GPG key ID: 36E3664E099D0614

View file

@ -76,8 +76,8 @@ class ControllerMethodReflector implements IControllerMethodReflector {
// over phpdoc annotations
if (method_exists($param, 'getType')) {
$type = $param->getType();
if ($type !== null) {
$this->types[$param->getName()] = (string) $type;
if ($type instanceof \ReflectionNamedType) {
$this->types[$param->getName()] = $type->getName();
}
}