PHP 8.1.0 RC 2 available for testing


(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionParameter::isCallableReturns whether parameter MUST be callable


This function has been DEPRECATED as of PHP 8.0.0. Relying on this function is highly discouraged.

See the example below for an alternative way to derive this information.


public ReflectionParameter::isCallable(): bool


This function is currently not documented; only its argument list is available.


This function has no parameters.

Return Values

Returns true if the parameter is callable, false if it is not or null on failure.


Example #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.

function declaresCallable(ReflectionParameter $reflectionParameter): bool
$reflectionType $reflectionParameter->getType();

    if (!
$reflectionType) return false;

$types $reflectionType instanceof ReflectionUnionType
        : [

in_array('callable'array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));

add a note add a note

User Contributed Notes 1 note

me at abiusx dot com
5 years ago
Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.
To Top