ReflectionParameter::isCallable
パラメータが callable かどうかを返す
警告この関数は PHP 8.0.0 で
非推奨になります。この関数に頼らないことを強く推奨します。
パラメータが callable かどうかを調べる別の方法については、下に示す例を参照ください。
説明
public bool ReflectionParameter::isCallable()
警告この関数は、
現在のところ詳細な情報はありません。引数のリストのみが
記述されています。
例
例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
を返します。