Laravel 6: 如何覆盖 sendPasswordResetNotification 函数
Laravel 6: How to override sendPasswordResetNotification function
我一直在努力重置密码,但使用自定义通知而不是 Laravel 通知。这是文件vendor\laravel\framework\src\Illuminate\Auth\Passwords\CanResetPassword.php
public function sendPasswordResetNotification($token)
{
//use custom notification to change the url instead of modifying the original class
//$this->notify(new ResetPasswordNotification($token));
$this->notify(new CustomResetPassword($token));
}
这就是我在服务中调用它的方式 class
$reset_password_status = Password::reset($credentials, function ($user, $password) {
$user->password = $password;
$user->save();
});
if ($reset_password_status == Password::INVALID_TOKEN) {
return $this->returnError->error("Invalid token provided");
}
但问题是在线构建项目是自动完成的,运行 composer install 每次都不能手动上传更改,所以我正在寻找一种方法来覆盖我的代码中的这个函数重置密码而不是编辑供应商文件夹
中存在的 CanResetPassword.php
文件
在使用此特征的 Class
上,您可以覆盖此功能。 class 中编写的每个函数都优先于特征函数。
在user.php
模型中
public function sendPasswordResetNotification($token)
{
$this->notify(new CustomResetPassword($token));
}
我一直在努力重置密码,但使用自定义通知而不是 Laravel 通知。这是文件vendor\laravel\framework\src\Illuminate\Auth\Passwords\CanResetPassword.php
public function sendPasswordResetNotification($token)
{
//use custom notification to change the url instead of modifying the original class
//$this->notify(new ResetPasswordNotification($token));
$this->notify(new CustomResetPassword($token));
}
这就是我在服务中调用它的方式 class
$reset_password_status = Password::reset($credentials, function ($user, $password) {
$user->password = $password;
$user->save();
});
if ($reset_password_status == Password::INVALID_TOKEN) {
return $this->returnError->error("Invalid token provided");
}
但问题是在线构建项目是自动完成的,运行 composer install 每次都不能手动上传更改,所以我正在寻找一种方法来覆盖我的代码中的这个函数重置密码而不是编辑供应商文件夹
中存在的CanResetPassword.php
文件
在使用此特征的 Class
上,您可以覆盖此功能。 class 中编写的每个函数都优先于特征函数。
在user.php
模型中
public function sendPasswordResetNotification($token)
{
$this->notify(new CustomResetPassword($token));
}