diff --git a/src/Illuminate/Auth/Events/Registered.php b/src/Illuminate/Auth/Events/Registered.php new file mode 100644 index 000000000000..f84058cf1fed --- /dev/null +++ b/src/Illuminate/Auth/Events/Registered.php @@ -0,0 +1,28 @@ +user = $user; + } +} diff --git a/src/Illuminate/Foundation/Auth/RegistersUsers.php b/src/Illuminate/Foundation/Auth/RegistersUsers.php index 4a9edb5953b0..824fe8ce70ec 100644 --- a/src/Illuminate/Foundation/Auth/RegistersUsers.php +++ b/src/Illuminate/Foundation/Auth/RegistersUsers.php @@ -4,6 +4,8 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +use Illuminate\Auth\Events\Registered; +use Illuminate\Contracts\Auth\Authenticatable; trait RegistersUsers { @@ -29,11 +31,26 @@ public function register(Request $request) { $this->validator($request->all())->validate(); - $this->guard()->login($this->create($request->all())); + $user = $this->create($request->all()); + + $this->fireRegisteredEvent($user); + + $this->guard()->login($user); return redirect($this->redirectPath()); } + /** + * Fire an event when a user registers. + * + * @param \Illuminate\Contracts\Auth\Authenticatable $authenticatable + * @return void + */ + protected function fireRegisteredEvent(Authenticatable $authenticatable) + { + event(new Registered($authenticatable)); + } + /** * Get the guard to be used during registration. *