Sobes.tech
Junior

Qu'est-ce que les fonctions anonymes?

sobes.tech IA

Réponse de l'IA

Une fonction anonyme (ou Closure) est une fonction sans nom. Elle peut être stockée dans une variable et transmise en tant qu’argument à d’autres fonctions.

Principales caractéristiques :

  • Absence de nom.
  • Peut être assignée à une variable.
  • Peut être transmise en tant que paramètre à une autre fonction (callback).
  • Peut utiliser des variables de la portée parent via la construction use.

Exemple d’utilisation :

<?php
// Attribution d’une fonction anonyme à une variable
$greet = function($name)
{
    printf("Bonjour, %s!\n", $name);
};

$greet('Monde'); // Appel de la fonction anonyme

// Utilisation comme callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
    return $n * 2;
}, $numbers);

print_r($doubled);

// Utilisation de variables de la portée parent via use
$message = 'Bonjour';
$example = function () use ($message) {
    echo $message;
};
$example();

Avantages des fonctions anonymes :

  • Pratiques pour de courtes fonctions à usage unique.
  • Souvent utilisées avec des fonctions d’ordre supérieur (par exemple, array_map, usort).
  • Permettent de créer des fermetures.

Inconvénients :

  • Peuvent être moins lisibles pour des fonctions complexes.
  • Le débogage peut être un peu plus difficile en raison de l’absence de nom.