ReflectionParameter::isCallable

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

ReflectionParameter::isCallableReturns whether parameter MUST be callable

警告

本函数已自 PHP 8.0.0 起被废弃。强烈建议不要依赖本函数。

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

说明

#[\Deprecated]
public ReflectionParameter::isCallable(): bool

警告

本函数还未编写文档,仅有参数列表。

参数

此函数没有参数。

返回值

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

更新日志

版本 说明
8.0.0 This function has been deprecated in favor of ReflectionParameter::getType() instead.

示例

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