ReflectionParameter::isCallable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Retorna se o parâmetro DEVE ser um callable
Warning
Esta função tornou-se DEFASADA a partir do PHP 8.0.0. O uso desta função é fortemente desencorajado.
Veja o exemplo abaixo para uma forma alternativa de derivar esta informação.
Descrição
Warning
Esta função não está documentada; apenas a lista de argumentos está disponível.
Parâmetros
Esta função não possui parâmetros.
Valor Retornado
Retorna true
se o parâmetro for callable, false
se não for
ou null
em caso de falha.
Exemplos
Example #1 Equivalente a PHP 8.0.0
A partir do PHP 8.0.0, o código a seguir reportará se um tipo suporta callables, inclusive como parte de uma união.
<?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));
}
?>