PHP 8.0.12 Released!

ReflectionParameter::isCallable

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

ReflectionParameter::isCallableVé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));
}
?>

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