ReflectionParameter::isCallable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Returns whether parameter MUST be callable
WarningThis 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
#[\Deprecated(
since: '8.0',
message: "use ReflectionParameter::getType() instead",
)]
public function ReflectionParameter::isCallable():
bool
WarningThis function is
currently not documented; only its argument list is available.
Parameters
This function has no parameters.
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));
}
?>