Fermetures en PHP : Comprendre l'identifiant "use"
Les fermetures PHP, introduites dans la version 5.3, permettent la création de fonctions encapsulées qui peuvent accéder aux variables de la portée externe. Ils utilisent cependant l'identifiant "use", ce qui peut prêter à confusion pour ceux qui le rencontrent pour la première fois.
Définir une fermeture
Une fermeture est déclarée à l'aide d'un Syntaxe de la fonction anonyme :
$callback = function ($quantity, $product) use ($tax, &$total) { ... };
L'identifiant "utiliser"
L' L'identifiant "use" permet à la fermeture d'accéder aux variables définies dans la portée externe. Les variables répertoriées après « utilisation » sont importées dans l'espace de noms de la fermeture.
Comment ça marche
Lorsqu'une fermeture est créée, les valeurs des variables importées sont copiées dans l'espace de noms de la fermeture. Cela signifie que toute modification apportée aux variables importées dans la fermeture n'affectera pas les variables de portée externe.
Cependant, si la variable importée est une référence (précédée de "&"), les modifications apportées dans la fermeture seront être reflété dans la portée extérieure. Dans l'exemple ci-dessus, "&$total" est une référence, permettant à la fermeture de modifier la variable $total dans la portée externe.
Avantages des fermetures
Quand utiliser les fermetures
Les fermetures conviennent aux situations où :
Remarque : Les fermetures doivent être utilisés judicieusement car ils peuvent introduire des problèmes de complexité et de performances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!