を、 Alexey Mezeninの答えはほぼありますが、今後のアップデートで機能が損なわれる可能性があるため、コアファイルを上書きすることはできません。
PasswordController
はResetsPassword
形質を使用する必要があるため、PasswordController
の形質をResetsPassword
から上書きすることができます。
例えば、独自のfrom
とsubject
行を電子メールに追加するのは、あなたの特性に関連する機能を見つけて、PasswordControllerにコピーして貼り付けてそれを修正する単純なケースです。
の例は、sendResetLinkEmail()
関数を上書きする関数です。
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Illuminate\Mail\Message;
use Illuminate\Support\Facades\Password;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Create a new password controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Send a reset link to the given user.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function sendResetLinkEmail(Request $request)
{
$this->validate($request, ['email' => 'required|email']);
$broker = $this->getBroker();
$response = Password::broker($broker)->sendResetLink($request->only('email'), function (Message $message) {
$message->subject($this->getEmailSubject());
$message->from(env('MAIL_FROM'), env('APP_NAME'));
});
switch ($response) {
case Password::RESET_LINK_SENT:
return $this->getSendResetLinkEmailSuccessResponse($response);
case Password::INVALID_USER:
default:
return $this->getSendResetLinkEmailFailureResponse($response);
}
}
@Rajkumarがより良い答えを持っているに役立つかもしれない
resetEmailBuilder
方法。 – Martin