diff --git a/library/Zend/Code/Generator/ParameterGenerator.php b/library/Zend/Code/Generator/ParameterGenerator.php index 52cf981ddd8..f32f191f976 100644 --- a/library/Zend/Code/Generator/ParameterGenerator.php +++ b/library/Zend/Code/Generator/ParameterGenerator.php @@ -56,6 +56,8 @@ public static function fromReflection(ParameterReflection $reflectionParameter) if ($reflectionParameter->isArray()) { $param->setType('array'); + } elseif (method_exists($reflectionParameter, 'isCallable') && $reflectionParameter->isCallable()) { + $param->setType('callable'); } else { $typeClass = $reflectionParameter->getClass(); if ($typeClass) { diff --git a/library/Zend/Code/Reflection/ParameterReflection.php b/library/Zend/Code/Reflection/ParameterReflection.php index 298ed45e36e..4b8b067f314 100644 --- a/library/Zend/Code/Reflection/ParameterReflection.php +++ b/library/Zend/Code/Reflection/ParameterReflection.php @@ -77,6 +77,8 @@ public function getType() { if ($this->isArray()) { return 'array'; + } elseif (method_exists($this, 'isCallable') && $this->isCallable()) { + return 'callable'; } if (($class = $this->getClass()) instanceof \ReflectionClass) {