我对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功能,用于将外部变量带入匿名函数/闭包的范围。
$a = 'hello';
$something = function () use ($a) {
echo $a;
};
没有use
声明,$a
变量将不在该函数的范围内。
“闭包也可能从父作用域继承变量。任何此类变量都必须传递给
use
语言构造。”