Fonctions de rappel
Fait partie de la section Logique & Flux du Journey PHP de Coddy. Leçon 4 sur 68.
Une fonction de rappel est une fonction qui est passée en tant qu’argument à une autre fonction. Au lieu d’appeler la fonction immédiatement, vous transmettez son nom afin que la fonction réceptrice puisse l’appeler plus tard lorsque cela est nécessaire.
Pour transmettre une fonction en tant que callback, il suffit d’utiliser le nom de la fonction sous forme de chaîne :
<?php
function greet($name) {
echo "Hello, " . $name . "!";
}
function processUser($username, $callback) {
// Effectuer un peu de traitement...
$callback($username); // Appeler la fonction callback
}
processUser("Alice", "greet"); // Affiche : Hello, Alice!
?>Dans cet exemple, "greet" est transmis comme rappel à processUser(). La fonction processUser() appelle ensuite le rappel en utilisant la chaîne comme nom de fonction.
Les fonctions de rappel (callbacks) sont incroyablement utiles car elles rendent vos fonctions plus flexibles. La même fonction peut effectuer différentes actions selon la fonction de rappel que vous lui passez. Ce concept est fondamental pour de nombreuses fonctions intégrées de PHP comme array_map() et array_filter(), que vous rencontrerez plus tard dans ce cours.
Défi
FacileCréez deux fonctions : l’une appelée formatUppercase qui prend une chaîne et la renvoie en majuscules, et l’autre appelée formatLowercase qui prend une chaîne et la renvoie en minuscules.
Créez ensuite une fonction appelée applyFormat qui accepte deux paramètres : une chaîne de texte et le nom d’une fonction de rappel. Cette fonction doit appliquer la fonction de rappel au texte et renvoyer le résultat.
Vous recevrez deux entrées : le type d’opération ("upper" ou "lower") et le texte à mettre en forme. Lisez les deux entrées, déterminez le rappel à utiliser en fonction du type d’opération, appelez applyFormat avec le rappel approprié et affichez le résultat mis en forme.
Format de l’entrée : deux lignes : la première ligne contient le type d’opération ("upper" ou "lower"), la deuxième ligne contient le texte à mettre en forme
Sortie attendue : le texte mis en forme en fonction du type d’opération
Essayez vous-même
<?php
// Lire l'entrée
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous
// Créer la fonction formatUppercase
// Créer la fonction formatLowercase
// Créer la fonction applyFormat
// Déterminer quel rappel utiliser en fonction du type d'opération
// Appeler applyFormat avec le rappel approprié
// Afficher le résultat
echo $result;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classementEntraînez-vous par vous-même : Compilateur PHP en ligne