ReflectionParameter::isCallable

Returns whether parameter MUST be callable

Warning

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.

Description

public bool ReflectionParameter::isCallable()

Warning

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

Parameters

This function has no parameters.

Return Values

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

Examples

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.

<?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));
}
?>