L'essentiel de PHP 7

Utiliser les fonctions anonymes

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Peu utilisées en PHP, les fonctions anonymes sont pourtant très utiles pour réaliser des actions dans un contexte particulier. Avec votre formateur, découvrez comment les mettre en œuvre.
05:43

Transcription

En termes de fonctions de cette dernière version de PHP il y a quelque chose qui a fait son apparition, qui a un petit peu changé la façon de voir les choses sur les fonctions pour que maintenant on peut créer des fonction anonymes. Alors une fonction que je voulais montrer juste avant, si on reprend ici fonction.php, fonction ça doit être nommée, mais pas forcément. Alors regardez, on va reprendre le display information, et puis on va créer une variable. Display information qui va être égale à une fonction, comme ça, et app, on n'oublie pas de fermer avec un ; c'est ce qu'on appelle une fonction, anonyme, alors, elle n'a d'anonyme que sa déclaration parce qu'en réalité elle est quand même rattachée quelque part, elle est rattachée sur une variable. Mais elle est anonyme parce qu'on ne l'a pas nommée. Voyez c'est une fonction qui n'est pas nommée. Ça, c'est un petit peu particulier parce que pour le coup, ici pour l'appeler, ça va être différent mais ça ne change rien dans le fonctionnement. Si, par exemple, ici j'ai un argument name je ne vais pas avoir de problème à récupérer à l'intérieur et à faire un sprintf, comme ça, avec un hello, comme ça, et le nom, pourquoi pas ? Et donc, je passerai le name, comme on fait d'habitude en PHP, sans aucun problème. On pourrait aussi lui dire que ça, ça effectue en écho. Alors, comment je vais l'utiliser, par contre parce qu'on a vu juste avant que pour utiliser une fonction nommée, il suffisait simplement, voilà, de l'appeler, comme ça, et bien, ça va être exactement la même chose qu'une fonction nommée, sauf que vous allez devoir utiliser l'appelle de la variable. C'est un peu particulier mais ça marche très bien. Pour le coup, vous pouvez tout à fait, aller implémenter une fonction comme ça, anonyme, qu'on appellera aussi, dès fois, la fonction callback parce que les callback, c'est exactement pareil, c'est quelque chose qui sera exécuté plus tard avec quelque chose qu'on va lui fournir. Et cela permet de créer en PHP des comportements qui sont extrêmement intéressants et ça, c'est assez nouveau en réalité, en PHP. Alors maintenant, si j'exécute mon anonimous.php, effectivement, j'ai bien le comportement que j'attends, c'est-à-dire un hello Julien. Si vous voulez, bien sûr, comme d'habitude, un petit souligne, ce n'est pas un problème, on peut le faire aussi, et app, on aura le hello Julien. Donc, là je peux du coup, appeler ma variable plusieurs fois, comme ça, et sans aucun problème, je vais pouvoir juste changer l'information qui se trouve à l'intérieur et puis, avoir des comportements très simples, et donc, faire un display plusieurs fois de différentes informations, en changeant juste le paramètre. Voyez que la différence entre une fonction anonyme et une fonction nommée, c'est uniquement, d'abord la façon de l'utiliser puisque là on fait un appelle de variable, et surtout, c'est également le fait qu'on utilise une fonction qui n'est absolument pas nommée. Alors, faites attention à quelque chose, on pourrait se dire qu'une fonction anonyme comme ça, ça pourrait prendre une valeur comme ça qui est définie à l'extérieur, par exemple, ici, si je définis le nom Julien et que je lui demande à l'intérieur, de faire un display de Julien, donc, là on va retirer cette valeur-là et on va demander juste un affichage, en faisant un appelle à la fonction, non pas, attention, à la variable mais bien à l'exécution de la fonction, et donc ça, on le réalise avec l'ouverture et la fermeture de parenthèses, on remarquera que ça ne marchera pas, on aura hello et rien du tout. Pourquoi ? Tout simplement, parce qu'on parle de porter des variables. Une variable, ici, qui est définie à l’intérieur du corps d'une fonction anonyme, ne peut pas être utilisée si elle a été définie, si elle a été référencée à l'extérieur de la variable. Alors, oui et non. Si vous voulez réaliser ça, ce n'est pas un problème, vous pouvez tout à fait, passer des informations à votre fonction anonyme, il faudra juste utiliser ici use, comme ça, il faudra lui donner les informations que vous voulez faire apparaître à l'intérieur. Donc ça, si vous utilisez cette technique vous pourrez utiliser des choses, provenant de l'extérieur à l'intérieur de votre fonction anonyme. Attention cependant à ne pas les écraser parce qu'évidemment, on aura des problèmes, sinon. Donc là, maintenant, si je fais ça, effectivement, j'ai bien hello Julien. Imaginons que je prenne le name Julien ici et que je le définisse derrière, on pourrait dire, alors du coup, ça va changer, ça va être Christophe après ou pas, où ça va rester Julien, qu'est-ce-qu'il va se passer ? Regardez, ça reste Julien. Pourquoi ? Parce qu'ici l’implémentation que vous avez faite sur votre fonction, vous l'avez faite à ce moment-là, c'est-à-dire à cet endroit-là, où vous avez, en fait, référencé le use, donc ce use-là ne changera jamais. On pourrait se dire, dans ce cas-là, avec les exemples qu'on a déjà vues, qu'on pourrait le faire évoluer en mettant un &. Et effectivement, c'est vrai. Vous pourriez mettre &, comme ça, et du coup, une réécriture de name sera utilisée par la fonction anonyme. Voyez qu'il y a plein de possibilités et en fait, en alliant les différentes techniques que l'on a vues, juste avant, eh bien, on peut réaliser des choses assez spectaculaires, alors, attention cependant, c'est extrêmement dangereux ce qu'on vient de voir là. La réécriture de name et l'utilisation de name comme ça, c'est, donc, utilisation d'une référence, ça veut dire que concrètement, si cette référence se change, eh bien, il va continuer à utiliser la variable name parce que sa référence sera changée et donc, du coup, la référence reste ouverte. Si vous ne mettez pas l'opérateur &, du coup, vous n'aurez jamais d'écrasement et vous partirez bien avec la valeur que vous avez donnée au début. Après, c'est un fonction de ce que vous voulez faire, comment vous voulez utiliser votre fonction et comment vous voulez que la fonction anonyme, elle puisse fonctionner, elle puisse être appelée et être utilisée. En tout cas, vous avez vu tous les exemples possibles sur une fonction anonyme. On verra un petit peu plus tard que les fonctions anonymes peuvent être utilisées aussi comme fonctions callback, on pourrait s'attendre à avoir une fonction qui soit déclarée à un endroit particulier, et utiliser comme telles parce qu'on a besoin, forcément, on a besoin, par exemple, un paramètre de fonction pour être une fonction callback, donc une fonction anonyme.

L'essentiel de PHP 7

Exploitez les nombreuses possibilités de PHP. Définissez des variables, créez des fonctions, manipulez du texte, abordez la gestion des objets, des opérateurs logiques, etc.

4h25 (52 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !