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));
}