PHP 8.0.26 Released!

ReflectionParameter::isCallable

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

ReflectionParameter::isCallableReturns whether parameter MUST be callable

Aviso

Esta função está OBSOLETA a partir do PHP 8.0.0. Depender dessa função é altamente desencorajado.

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

Descrição

public ReflectionParameter::isCallable(): bool

Aviso

Esta função não está documentada; somente a lista de argumentos está disponível.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

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

Exemplos

Exemplo #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

User Contributed Notes 1 note

up
0
me at abiusx dot com
6 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