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

PHP implémente une méthode pour forcer la spécification du type de rappel en fonction de Callable

墨辰丷
墨辰丷original
2018-06-01 14:14:151603parcourir

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 &#39;do sth callback&#39;;
}
dosth(&#39;callback&#39;);
?>

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(&#39;abc&#39;);
?>

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(&#39;abc&#39;);
?>

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn