vendredi 25 septembre 2026

À propos

Contact

Lexique · PHP

Fonction variadique

En anglais : « Variadic function »

Une fonction variadique accepte un nombre indéterminé d'arguments grâce à l'opérateur « ... », qui les regroupe automatiquement dans un tableau.

Certaines fonctions doivent accepter un nombre d’arguments qu’on ne connaît pas à l’avance : une fonction de journalisation qui prend tantôt un message seul, tantôt un message accompagné de plusieurs valeurs de contexte. Depuis PHP 5.6, l’opérateur ... placé devant un paramètre capture tous les arguments restants dans un tableau, sans passer par l’ancienne fonction func_get_args().

Écriture et usage

Le paramètre variadique doit être le dernier de la liste et peut être typé : function additionner(int ...$nombres) { return array_sum($nombres); }. Le même opérateur sert aussi à « déplier » un tableau existant en arguments au moment de l’appel : additionner(...[1, 2, 3]).

Dans WordPress

Le cœur de WordPress s’en sert peu directement, mais des fonctions comme sprintf() ou call_user_func_array() reposent sur le même principe de nombre variable d’arguments. Dans une extension, une fonction variadique est pratique pour construire un wrapper autour de error_log(), ou pour composer une requête $wpdb avec un nombre inconnu de conditions.

Exemple

function wpm_log(string $niveau, string ...$messages) {
    foreach ($messages as $m) {
        error_log("[$niveau] $m");
    }
}
wpm_log('INFO', 'Cache vidé', 'Options mises à jour');

Pièges fréquents

Un paramètre variadique ne peut pas être suivi d’un autre paramètre positionnel : PHP lève une erreur de syntaxe dans ce cas. Ne confondez pas non plus cet usage avec l’opérateur de déballage appliqué à un tableau : la syntaxe ... est la même mais son rôle change selon qu’elle apparaît dans la déclaration ou dans l’appel.