(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionParameter::isCallable — Vérifie si le paramètre est de type callable
Avertissement
Cette fonction est OBSOLÈTE à partir de PHP 8.0.0.
Dépendre de cette fonction est fortement déconseillé.
Voir l'exemple ci-dessous pour une manière alternative pour dériver cette information.
Description
public
ReflectionParameter::isCallable(): bool
Avertissement
Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
Liste de paramètres
Cette fonction ne contient aucun paramètre.
Valeurs de retour
Retourne true
si le paramètre est de type callable, false
s'il ne l'est pas, ou null
si une erreur survient.
Exemples
Exemple #1 Équivalent PHP 8.0.0
À partir de PHP 8.0.0, le code suivant signalera si un type supporte les
callables, incluant ceux faisant partie d'une 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));
}
?>