$ Request在AuthenticatesUsers.php Laravel5中未初始化

时间:2016-07-23 16:25:25

标签: laravel-5 request sendmail

我想在每次登录成功时发送通知电子邮件(仅用于测试,因为我已经没有电子邮件注册以测试发送电子邮件)。我修改handleUserWasAuthenticated函数,我假设成功登录时将调用此函数。但是,我无法通过$ request变量从表单的数据中获取电子邮件和用户名。 $ request在默认情况下也在handleUserWasAuthenticated函数的其他地方使用,并且对于这些情况没有警告,只有在我添加的代码中,$ request得到警告“Variable $ request似乎未初始化”。如何使用电子邮件和用户名发送电子邮件?

这是AuthenticatesUser.php中的handleUserWasUathenticated函数

namespace Illuminate\Foundation\Auth;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;

trait AuthenticatesUsers
{
    use RedirectsUsers;

    protected function handleUserWasAuthenticated(Request $request, $throttles)
    {
        //My modification
        $data = [
            'title' => 'Welcome to Myfirstsite',
            'content' => 'You have finished your registration successfully'
        ];

        Mail::send('emails.verification', $data, function($message){

            $message
                ->to($request['email'],$request['name'])
                ->subject('Verification email from Myfirstsite');

        });

        //Original part
        if ($throttles) {
            $this->clearLoginAttempts($request);
        }

        if (method_exists($this, 'authenticated')) {
            return $this->authenticated($request, Auth::guard($this->getGuard())->user());
        }

        return redirect()->intended($this->redirectPath());
    }
}

1 个答案:

答案 0 :(得分:0)

确保您拥有以下代码:use Illuminate\Http\Request;

不是use App\Http\Requests\Request;