Maison > développement back-end > tutoriel php > La différence réelle entre lambda et les fonctions régulières (en utilisant PHP)

La différence réelle entre lambda et les fonctions régulières (en utilisant PHP)

Susan Sarandon
Libérer: 2025-01-30 00:22:09
original
384 Les gens l'ont consulté

The Actual Difference Between Lambda and Regular Functions (Using PHP)

Le problème du contexte de la fonction

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.

$router->group(['prefix' => 'admin'], function() use ($router) {
    $router->get('users', function() {
        // 匹配 "/admin/users" URL
    });
});
Copier après la connexion
Réécriture de la fonction lambda

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.

<情况> Autres situations
$router->group(['prefix' => 'admin'], fn() => (
    $router->get('users', fn() => (
        // 匹配 "/admin/users" URL
    ));
));
Copier après la connexion

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!

Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal