Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Returns whether parameter MUST be callable
Diese Funktion ist seit PHP 8.0.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.
See the example below for an alternative way to derive this information.
Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Parameter zur Verfügung.
Diese Funktion besitzt keine Parameter.
Returns true
if the parameter is callable, false
if it is
not or null
on failure.
Beispiel #1 PHP 8.0.0 equivalent
As of PHP 8.0.0, the following code will report if a type supports callables, including as part of a union.
<?php
function declaresCallable(ReflectionParameter $reflectionParameter): bool
{
$reflectionType = $reflectionParameter->getType();
if (!$reflectionType) return false;
$types = $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];
return in_array('callable', array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));
}
?>
Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.