ReflectionParameter::isCallable

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

ReflectionParameter::isCallable返回参数是否必须是可调用的

警告

此函数从 PHP 8.0.0 开始已弃用。强烈建议不要依赖此函数。

请参阅下面的示例,了解另一种获取此信息的方法。

描述

public ReflectionParameter::isCallable(): bool

警告

此函数目前未记录;仅提供其参数列表。

参数

此函数没有参数。

返回值

如果参数是 callable,则返回 true;如果参数不是可调用,则返回 false;如果失败,则返回 null

示例

示例 #1 PHP 8.0.0 等效代码

从 PHP 8.0.0 开始,以下代码将报告类型是否支持可调用,包括作为联合类型的一部分。

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

添加笔记

用户贡献笔记 1 笔记

me at abiusx dot com
8 年前
显然,对于许多内部函数(如 array_map 和 array_walk)的回调参数,此函数不会返回 true。
To Top