RegistersUsers.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace Illuminate\Foundation\Auth;
  3. use Illuminate\Auth\Events\Registered;
  4. use Illuminate\Http\JsonResponse;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. trait RegistersUsers
  8. {
  9. use RedirectsUsers;
  10. /**
  11. * Show the application registration form.
  12. *
  13. * @return \Illuminate\View\View
  14. */
  15. public function showRegistrationForm()
  16. {
  17. return view('auth.register');
  18. }
  19. /**
  20. * Handle a registration request for the application.
  21. *
  22. * @param \Illuminate\Http\Request $request
  23. * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
  24. */
  25. public function register(Request $request)
  26. {
  27. $this->validator($request->all())->validate();
  28. event(new Registered($user = $this->create($request->all())));
  29. $this->guard()->login($user);
  30. if ($response = $this->registered($request, $user)) {
  31. return $response;
  32. }
  33. return $request->wantsJson()
  34. ? new JsonResponse([], 201)
  35. : redirect($this->redirectPath());
  36. }
  37. /**
  38. * Get the guard to be used during registration.
  39. *
  40. * @return \Illuminate\Contracts\Auth\StatefulGuard
  41. */
  42. protected function guard()
  43. {
  44. return Auth::guard();
  45. }
  46. /**
  47. * The user has been registered.
  48. *
  49. * @param \Illuminate\Http\Request $request
  50. * @param mixed $user
  51. * @return mixed
  52. */
  53. protected function registered(Request $request, $user)
  54. {
  55. //
  56. }
  57. }