ReflectionParameter::isCallable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — パラメータが callable かどうかを返す
警告
この関数は PHP 8.0.0 で 非推奨になります。この関数に頼らないことを強く推奨します。
パラメータが callable かどうかを調べる別の方法については、下に示す例を参照ください。
パラメータ
この関数にはパラメータはありません。
例
例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));
}
?>
+add a note
User Contributed Notes 1 note
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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google