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 add a note

User Contributed Notes 1 note

up
0
me at abiusx dot com
5 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