php - 匿名函数定义中的关键字
问题描述
我学习了 Laravel 8,并在 PHP 中找到了适合我的新语法。我安装了简单的 Auth 模块,控制器有这样的方法(我添加了文档注释)。此方法将用户的新密码设置为数据库表,然后返回重定向到登录或返回:
/**
* Handle an incoming new password request.
*
* @param $request - Contains data for password change
* @return mixed (redirect)
*
* @throws ValidationException
*/
public function store(Request $request)
{
$request->validate([
'token' => 'required',
'email' => 'required|email',
'password' => 'required|string|confirmed|min:8',
]);
$status = Password::reset(
$request->only('email', 'password', 'password_confirmation', 'token'),
function ($user) use ($request) {
$user->forceFill([
'password' => Hash::make($request->password),
'remember_token' => Str::random(60),
])->save();
event(new PasswordReset($user));
}
);
return $status == Password::PASSWORD_RESET
? redirect()->route('login')->with('status', __($status))
: back()->withInput($request->only('email'))
->withErrors(['email' => __($status)]);
}
这是我感兴趣的代码行:
function ($user) use ($request)
这是带有参数的匿名函数,$user
但use
关键字是什么?
解决方案
推荐阅读
- javascript - JavaScript 命令处理程序没有运行其他命令?
- json - 使用 bash 和 jq 并读取内容中包含 \n 的 json 文件
- ruby-on-rails - ELI5:为什么你可以在类方法中调用类方法而不明确说明类本身?(红宝石/导轨)
- go - 从 GORM V1 迁移到 V2 时出现“丢失错误方法”
- javascript - 无法使 VSCode 解析从 .es 文件智能感知导入的工作
- mysql - MySQL TABLE - 根本不显示任何信息
- ns-3 - 如何在 NS-3 中能量耗尽后关闭节点?
- c - 在后台运行音乐 - GBDK
- php - 更新一个或多个字段,忽略 MySQL 中的空字段
- javascript - 对 getStats API 的 WebTransport 支持