laravel / lumen回调/函数定义中的“用法”是做什么的? [重复]

问题描述 投票:0回答:1

我对Lumen很陌生,我正在关注本教程,以通过Lumen学习JWT的基本身份验证:https://medium.com/tech-tajawal/jwt-authentication-for-lumen-5-6-2376fd38d454

现在是这部分代码,这使我有些头疼:

$router->group(
  ['middleware' => 'jwt.auth'],
  function() use ($router){
    $router->get('users', function(){
      $users=\App\User::all();
      return response()->json($users);
    });
  }
);

我不知道function() use ($router)是什么?我阅读了使用PHP的官方文档:https://www.php.net/manual/de/language.namespaces.importing.php我还研究了外部资源:https://www.tutorialspoint.com/php7/php7_use_statement.htm

但是我想我仍然需要一些有关Lumen / Laravel内部运作的知识,以了解这里发生的情况。有人可以帮我搭便车,并向我解释几句话,这是怎么回事?

php laravel lumen
1个回答
2
投票

这是一个PHP功能,用于将外部变量带入匿名函数/闭包的范围。

$a = 'hello';

$something = function () use ($a) {
    echo $a;
};

没有use声明,$a变量将不在该函数的范围内。

“闭包也可能从父作用域继承变量。任何此类变量都必须传递给use语言构造。”

PHP Manual - Anonymous Functions 示例#3

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.