Menu
Coddy logo textTech

Fonctions fléchées

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 3 sur 68.

Les fonctions fléchées, introduites dans PHP 7.4, offrent une manière plus concise d'écrire des fonctions anonymes simples. Elles utilisent le mot-clé fn au lieu de la syntaxe complète function, rendant votre code plus court et plus propre.

Voici comment créer une fonction fléchée :

<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice");  // Affiche : Hello, Alice!
?>

Remarquez les différences clés : les fonctions fléchées utilisent fn au lieu de function, ont une flèche => pointant vers l'expression, et n'ont pas besoin d'accolades ou d'une instruction return pour les expressions simples.

Le plus grand avantage des fonctions fléchées est qu'elles capturent automatiquement les variables de la portée parente - aucun mot-clé use n'est nécessaire :

<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob");  // Affiche : Welcome, Bob!
?>

Les fonctions fléchées sont parfaites pour les opérations courtes et simples où la syntaxe traditionnelle des fonctions anonymes semble trop verbeuse.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Facile

Créez une fonction fléchée qui prend un nom de produit en paramètre et retourne une étiquette de produit formatée. La fonction fléchée doit capturer un nom de catégorie à partir de la portée environnante.

Vous recevrez deux entrées : le nom de la catégorie et le nom du produit. Lisez les deux entrées, créez une fonction fléchée qui capture la catégorie et formate l'étiquette du produit comme "[Category] Product", appelez la fonction fléchée avec le nom du produit, et affichez le résultat.

Format d'entrée : Deux lignes - la première ligne contient le nom de la catégorie, la deuxième ligne contient le nom du produit

Sortie attendue : L'étiquette du produit formatée au format "[Category] Product"

Aide-mémoire

Les fonctions fléchées utilisent le mot-clé fn et fournissent une syntaxe concise pour les fonctions anonymes simples :

$greeting = fn($name) => "Hello, " . $name . "!";

Caractéristiques principales :

  • Utilisent fn au lieu de function
  • La flèche => pointe vers l'expression
  • Pas besoin d'accolades ou de l'instruction return pour les expressions simples
  • Capturent automatiquement les variables de la portée parente sans le mot-clé use
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob");  // Affiche : Welcome, Bob!

Essayez vous-même

<?php
// Lire l'entrée
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));

// TODO: Écrivez votre code ci-dessous
// Créer une fonction fléchée qui capture la catégorie et formate l'étiquette du produit


// Appeler la fonction fléchée et afficher le résultat
echo $result;
?>
quiz iconTestez-vous

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