Maison >développement back-end >tutoriel php >PHP implémente une méthode pour forcer la spécification du type de rappel en fonction de Callable
Cet article présente principalement la méthode pour forcer PHP Callable à spécifier le type de rappel. C'est très bien et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer
Si une méthode doit accepter un rappel. méthode comme paramètre, nous Vous pouvez écrire comme ceci
<?php function dosth($callback){ call_user_func($callback); } function callback(){ echo 'do sth callback'; } dosth('callback'); ?>
Sortie :
faire quelque chose de rappel
Mais nous ne savons pas si la méthode de rappel peut être appelée, donc beaucoup de travail supplémentaire doit être effectué pour vérifier si cette méthode de rappel peut être appelée.
Existe-t-il un meilleur moyen de déterminer si la méthode de rappel est appelable ?
Nous pouvons utiliser callable pour forcer le paramètre à être un type de rappel, ce qui garantit que la méthode de rappel doit être appelable.
Par exemple, la méthode de rappel est une méthode inexistante
<?php function dosth(callable $callback){ call_user_func($callback); } dosth('abc'); ?>
Après exécution, un message d'erreur s'affiche : TypeError : L'argument 1 passé à dosth () doit être appelable
Le programme ne peut pas exécuter le traitement interne de dosth Le type de paramètre a été vérifié et traité pour la protection.
Et si callable est supprimé
<?php function dosth($callback){ call_user_func($callback); } dosth('abc'); ?>
après l'exécution, un avertissement s'affiche : Attention : call_user_func() s'attend à ce que le paramètre 1 soit un rappel valide, une fonction 'abc' introuvable ou un nom de fonction invalide
Le programme peut exécuter le traitement interne de dosth, donc beaucoup de travail supplémentaire doit être effectué pour vérifier si la méthode de rappel peut être appelé.
Par conséquent, si le paramètre de la méthode est une méthode de rappel, callable doit être ajouté pour forcer sa spécification comme type de rappel. Cela peut réduire les erreurs d'appel et améliorer la qualité du programme.
Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Recommandations associées :
Opération d'ajout de tableau PHP et la différence avec array_merge
php Détaillée explication de la méthode de gestion des exceptions PDO
Fonction de cryptage intégrée PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!