L'introduction des fonctions anonymes
Avant l'émergence des fonctions anonymes, toutes les fonctions devaient être nommées avant de pouvoir être utilisées
Parfois, une fonction ne doit être utilisée qu'une seule fois. Dans ce cas, l'utilisation d'une fonction anonyme rendra le code plus concis et intuitif, et empêchera également la fonction d'être utilisée dans d'autres. lieux
(Partage gratuit de tutoriels vidéo d'apprentissage : Tutoriel vidéo php)
La définition et l'utilisation des fonctions anonymes
PHP fermera la fermeture. Elles sont considérées comme des concepts équivalents aux fonctions anonymes (collectivement appelées fonctions anonymes dans cet article). Ce sont essentiellement des objets déguisés en fonctions.
L'essence des fonctions anonymes réside dans les objets, donc tout comme les objets, les fonctions anonymes peuvent être affectées à une variable
Toutes les fonctions anonymes sont des objets de fermeture L'instance
l'objet n'a pas de portée parent à proprement parler, vous devez donc utiliser use pour déclarer manuellement les variables utilisées
Si vous souhaitez que les variables de la fonction anonyme prennent effet, vous devez utiliser le pass de référence
À partir de PHP 5.4, lors de l'utilisation d'une fonction anonyme dans une classe, le $this de la fonction anonyme sera automatiquement lié à la classe actuelle
Si vous ne souhaitez pas que la liaison automatique prenne effet, vous pouvez utiliser des fonctions anonymes statiques
L'essence des fonctions anonymes
L'essence des fonctions anonymes est l'objet Closure, qui comprend les cinq méthodes suivantes
__construct - pour empêcher l'instanciation des fonctions anonymes
Closure::bindTo - Copiez l'objet de fonction anonyme actuel, en liant le $ spécifié cet objet et cette portée de classe. En termes simples, cela signifie lier manuellement une fonction anonyme à un objet spécifié. En utilisant cela, vous pouvez étendre les fonctionnalités de l'objet.
Closure::bind - une version statique de la méthode bindTo, avec deux utilisations :
Utilisation 1 : obtenir le même effet que la méthode bindTo
Utilisation 2 : Liez la fonction anonyme à la classe (plutôt qu'à l'objet). N'oubliez pas de définir le deuxième paramètre sur null
call - La nouvelle méthode d'appel dans PHP 7 peut lier et appeler des fonctions anonymes. En plus d'une syntaxe plus simple, les performances sont également plus élevées fromCallable - donnera. Une certaine fonction appelable est convertie en une fonction anonyme fromCallable, ce qui équivaut à Il y a une chose cela nécessite une attention particulière ici. , qu'il s'agisse d'une fermeture convertie à partir deCallable ou d'une fermeture obtenue par réflexion, lors de l'utilisation de bindTo, si le deuxième paramètre spécifie la classe de liaison, une erreur sera signalée
Articles et tutoriels associés recommandés : Tutoriel 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!