PHP 8.3.4 Released!

ReflectionParameter::isCallable

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

ReflectionParameter::isCallableパラメータが callable かどうかを返す

警告

この関数は PHP 8.0.0 で 非推奨になります。この関数に頼らないことを強く推奨します。

パラメータが callable かどうかを調べる別の方法については、下に示す例を参照ください。

説明

public ReflectionParameter::isCallable(): bool

警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

パラメータ

この関数にはパラメータはありません。

例1 PHP 8.0.0 以降で同等のことを行うには

PHP 8.0.0 以降では、union 型の一部であるかも含めて、 以下のコードが callable 型を受け取るかどうかを報告します。

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

戻り値

パラメータが callable の場合に true、そうではない場合に false を返します。 失敗した場合は null を返します。

add a note

User Contributed Notes 1 note

up
0
me at abiusx dot com
8 years ago
Apparently this does not return true for callback arguments to many of the internal functions, such as array_map and array_walk.
To Top