ReflectionParameter::isCallable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Returns whether parameter MUST be callable
警告
本函数已自 PHP 8.0.0 起被废弃。强烈建议不要依赖本函数。
See the example below for an alternative way to derive this information.
说明
public ReflectionParameter::isCallable(): bool
警告
本函数还未编写文档,仅有参数列表。
参数
此函数没有参数。
返回值
Returns true
if the parameter is callable, false
if it is
not or null
on failure.
范例
示例 #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
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.
备份地址:http://www.lvesu.com/blog/php/reflectionparameter.iscallable.php