Maison >développement back-end >tutoriel php >La différence réelle entre lambda et les fonctions régulières (en utilisant PHP)
Lorsque nous passons la fonction en tant que paramètre, si nous devons utiliser une variable en dehors de la fonction, nous devons utiliser
Mots-clés.
use
Ceci est courant dans la voie du groupe de Laravel ou Lumen.
Veuillez noter que l'utilisation de mots clés est nécessaire:
use
Le code ci-dessus est tiré du document de Lumen. Si la fonction lambda (fonction Arrow) est utilisée pour réécrire ce code, toutes les autres variables en dehors de la fonction peuvent être utilisées à l'intérieur de la fonction.
<code class="language-php">$router->group(['prefix' => 'admin'], function() use ($router) { $router->get('users', function() { // 匹配 "/admin/users" URL }); });</code>
Veuillez noter que Ici, vous n'avez pas besoin d'utiliser Mot-clé
, le code est plus concis.
use
Il s'agit de l'une des caractéristiques les plus importantes de la fonction lambda.
<code class="language-php">$router->group(['prefix' => 'admin'], fn() => ( $router->get('users', fn() => ( // 匹配 "/admin/users" URL )); ));</code>
Dans d'autres langues, il n'y a pas de mot-clé
, et la fonction ne connaît pas le contexte qui l'entoure. Dans ce cas, comment réaliser un comportement similaire?
Vous devez passer les variables en tant que paramètres à chaque fois, mais ce n'est vraiment pas ce que nous voulons. use
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!