Maison  >  Article  >  développement back-end  >  Qu'est-ce que la fonction de fermeture PHP

Qu'est-ce que la fonction de fermeture PHP

王林
王林original
2019-10-11 17:45:032863parcourir

Qu'est-ce que la fonction de fermeture PHP

Les fonctions anonymes en PHP, également appelées fermetures, permettent la création temporaire d'une fonction sans nom spécifié. Souvent utilisé comme paramètre pour les fonctions de rappel. Bien entendu, il existe également d’autres applications.

Remarque : Les fermetures PHP ne sont disponibles qu'après la version PHP 5.3

Que sont les fermetures ?

Une fermeture est un bloc de code qui peut contenir des variables libres (non liées à un objet spécifique) ; ces variables ne sont pas définies dans ce bloc ou dans un contexte global, mais dans le bloc de définition défini dans l’environnement (variables locales). Le mot « fermeture » vient de la combinaison d'un bloc de code à exécuter (car les variables libres sont contenues à l'intérieur du bloc, ces variables libres et les objets auxquels elles font référence ne sont pas libérées) et de la liaison prévue pour les variables libres. Environnement informatique (portée). Dans le domaine de la programmation, on peut dire en termes simples : les fonctions enfants peuvent utiliser des variables locales dans la fonction parent. Ce comportement est appelé fermeture.

Les fonctions et fermetures anonymes PHP utilisent la même syntaxe que les fonctions ordinaires, mais les fonctions et fermetures anonymes sont en fait des objets déguisés en fonctions.

Fonction anonyme :

est une fonction sans nom. Les fonctions anonymes peuvent être attribuées aux variables et aux objets transmis. Cependant, les fonctions anonymes sont toujours des fonctions, elles peuvent donc être affectées. être appelée et transmettre les paramètres. Les fonctions anonymes sont particulièrement adaptées comme rappels pour des fonctions ou des méthodes

Fermeture :

fait référence à une fonction qui encapsule l'état environnant lors de sa création. . Même en cas de fermeture L'environnement n'existe plus, mais l'état encapsulé dans la fermeture existe toujours.

Remarque : En théorie, les fermetures et les fonctions anonymes sont des concepts différents. Cependant, PHP les traite comme le même concept

La syntaxe des fermetures est équivalente à Simple, la. le seul mot-clé auquel vous devez prêter attention est use, qui relie la fermeture et les variables externes.

$a = function() use($b) {
//TO-DO
};

Voici quelques exemples d'implémentation des fermetures :

//例一:把匿名函数当做参数传递,并且调用它
function callFunc( $func ) {
 $func( "some string\r\n" );
}
$printStrFunc = function( $str ) {
 echo $str;
};
//例二:也可以直接将匿名函数进行传递。如果你了解js,这种写法可能会很熟悉
callFunc( $printStrFunc );
callFunc( function( $str ) {
 echo $str;
} );

Bien que la syntaxe et l'implémentation des fermetures soient très simples, il n'est pas facile de bien les utiliser.

Avantages de la fermeture :

1. Réduire le code de la boucle foreach

2. Réduire les paramètres de fonction

3.

Tutoriel recommandé : Tutoriel vidéo PHP

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn