La programmation fonctionnelle est un paradigme de programmation qui met l'accent sur l'utilisation de fonctions pures pour créer une logique de programme. Dans la programmation traditionnelle orientée objet, nous comptons généralement sur des classes et des objets pour organiser notre code, tandis que la programmation fonctionnelle se concentre sur la définition et l'appel des fonctions. La fonction de flèche introduite dans PHP 7.4 fournit un moyen plus concis d'écrire des fonctions anonymes, simplifiant considérablement le fonctionnement de la programmation fonctionnelle. Cet article expliquera l'utilisation de base des fonctions flèches et démontrera son application dans la programmation fonctionnelle à travers des exemples.
Les fonctions de flèche ont été initialement introduites par JavaScript ES6, et cette fonction a été introduite après PHP 7.4 pour simplifier la définition des fonctions anonymes. La fonction de flèche peut capturer automatiquement les variables de portée extérieures et omettre la fonction et retourner les mots clés. La syntaxe de base est:
(paramètres) => expression;
Voici un exemple simple définissant une fonction flèche pour calculer les carrés:
$ carré = fn ($ num) => $ num ** 2; Echo $ carré (4); // Sortie 16
Dans cet exemple, la fonction de flèche fn ($ num) => $ num ** 2 reçoit le paramètre $ num et renvoie son carré. En appelant $ carré (4) , vous pouvez obtenir le résultat 16.
Les paramètres de la fonction de flèche peuvent être un ou plusieurs, plusieurs paramètres sont séparés par des virgules, et lorsque plusieurs paramètres, il doit être enfermé entre parenthèses, par exemple (paramètre 1, paramètre 2) => Expression .
La programmation fonctionnelle souligne que les fonctions comme citoyens de première classe peuvent être utilisées comme paramètres ou valeurs de retour. Les fonctions de flèche simplifient la définition et le transfert des fonctions, ce qui rend la programmation fonctionnelle plus concise et plus efficace.
Voici un exemple, en utilisant la fonction flèche pour implémenter une carte de fonction d'ordre supérieur, fonctionnant sur chaque élément du tableau:
$ nombres = [1, 2, 3, 4, 5]; $ double = fn ($ num) => $ num * 2; Carte de fonction (Array $ tableau, transform Callable $): Array { return array_map ($ transform, $ array); } $ result = map ($ nombres, $ double); print_r ($ result); // Sortie [2, 4, 6, 8, 10]
Dans l'exemple, la fonction de flèche $ multiplie chaque paramètre entrant par 2. La carte de fonction d'ordre supérieur reçoit des tableaux et des fonctions et applique la fonction à chaque élément du tableau via array_map . Dans le tableau de sortie final, chaque élément est multiplié par 2.
Cet exemple montre la simplicité et la flexibilité des fonctions de flèche dans la programmation fonctionnelle, vous permettant de définir et de transférer rapidement les fonctions.
Les fonctions de flèche sont une fonction de syntaxe ajoutée après PHP 7.4, permettant de définir des fonctions anonymes de manière plus concise et lier automatiquement les variables dans la portée extérieure. Grâce aux fonctions Arrow, nous pouvons plus facilement implémenter le style de programmation fonctionnelle. Cet article présente la syntaxe et l'utilisation des fonctions flèches et montre son application dans les opérations de tableau et les fonctions d'ordre supérieur à travers des exemples, ce qui contribue à améliorer la simplicité et la lisibilité du code PHP.
Document officiel de PHP: "Fonctions Arrow" https://www.php.net/manual/en/fonctions.arrow.php