php8.5
Home/ Manual/ reflection / reflectionparameter/ ReflectionParameter::isCallable

ReflectionParameter::isCallable

PHP function Deprecated as of PHP 8.0.0 Edit on GitHub ✎

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

Returns whether parameter MUST be callable

Function-8-0-0 See the example below for an alternative way to derive this information.

Description

ReflectionParameter::isCallable(): bool

Func

Parameters Parameters

Return Values

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

Changelog

VersionDescription
8.0.0This function has been deprecated in favor of ReflectionParameter::getType instead.

Examples

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

Source: reference/reflection/reflectionparameter/iscallable.xml · from the official PHP manual (php/doc-en)