vendredi 25 septembre 2026

À propos

Contact

Lexique · PHP

Fonction anonyme

En anglais : « Anonymous function (closure) »

Fonction PHP déclarée sans nom, souvent affectée à une variable ou passée directement en argument, utile pour un traitement ponctuel et local.

Pas besoin de baptiser une fonction qu’on n’utilisera qu’une seule fois, à un seul endroit précis du code : la fonction anonyme, appelée aussi closure en PHP, répond exactement à ce besoin ponctuel.

Un usage massif dans les hooks WordPress

Attacher une fonction anonyme directement à add_action ou add_filter évite de créer une fonction nommée séparée pour un traitement simple et localisé, une pratique très répandue dans les fichiers functions.php de thèmes modernes.

Exemple

add_filter('excerpt_length', function ($longueur) {
    return 20;
});

add_action('wp_footer', function () {
    echo '<p class="mention-legale">Site propulsé par WordPress</p>';
});

Chaque fonction anonyme reste isolée à son usage précis, sans polluer l’espace global de noms de fonctions du thème.

À ne pas confondre avec une fonction fléchée

  • PHP propose depuis la version 7.4 les fonctions fléchées (fn($x) => $x * 2), plus concises mais qui capturent automatiquement les variables extérieures par valeur, contrairement à une closure classique qui nécessite le mot-clé use.
  • Le mot-clé use ($variable) permet à une fonction anonyme classique d’accéder à une variable définie en dehors de son propre corps, par valeur ou par référence avec use (&$variable).
  • Une fonction anonyme reste une valeur comme une autre : elle peut être stockée dans un tableau, passée en paramètre ou retournée par une autre fonction.