PHP 8.1.0 RC 2 available for testing

ReflectionParameter::isCallable

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

ReflectionParameter::isCallableReturns 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 ReflectionParameter::isCallable(): bool

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

add a note add a note

User Contributed Notes 1 note

up
0
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