J'ai été très excité de lire à propos de anonymous functions en PHP, ce qui vous permet de déclarer une variable qui est fonction plus facile que vous pourriez faire avec create_function. Maintenant je me demande si j'ai une fonction qui est passée une variable, comment puis-je la vérifier pour déterminer si c'est une fonction? Il n'y a pas de fonction is_function() encore, et quand je fais un var_dump d'une variable qui est fonction ::php is_function() pour déterminer si une variable est une fonction
$func = function(){
echo 'asdf';
};
var_dump($func);
Je reçois ceci:
object(Closure)#8 (0) { }
Toute réflexion sur la façon de vérifier si cette est une fonction?
is_callable() fonctionnera très bien si vous transmettez une fonction anonyme, un nom de fonction sous forme de chaîne ou un tableau de callback PHP valide. Si vous voulez spécifiquement vérifier uniquement les fonctions anonymes, alors vous voudriez quelque chose comme ce que Gumbo a dit: assurez-vous que le paramètre est un objet, et assurez-vous qu'il s'agit d'une instance de fermeture. – Lane
Que faire si je veux vérifier si c'est un callack ou une chaîne et faire des choses différentes pour eux. Je ne veux pas qu'une valeur de chaîne soit accidentellement prise comme rappel. – Gherman
@German Vérifiez d'abord si is_string ($ func) puis comme deuxième vérification avec is_callable ($ func) – Heroselohim