RegisteredUserController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\User;
  5. use Illuminate\Auth\Events\Registered;
  6. use Illuminate\Http\RedirectResponse;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\Hash;
  10. use Illuminate\Validation\Rules;
  11. use Illuminate\View\View;
  12. class RegisteredUserController extends Controller
  13. {
  14. /**
  15. * Display the registration view.
  16. */
  17. public function create(): View
  18. {
  19. return view('auth.register');
  20. }
  21. /**
  22. * Handle an incoming registration request.
  23. *
  24. * @throws \Illuminate\Validation\ValidationException
  25. */
  26. public function store(Request $request): RedirectResponse
  27. {
  28. $request->validate([
  29. 'name' => ['required', 'string', 'max:255'],
  30. 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
  31. 'password' => ['required', 'confirmed', Rules\Password::defaults()],
  32. ]);
  33. $user = User::create([
  34. 'name' => $request->name,
  35. 'email' => $request->email,
  36. 'password' => Hash::make($request->password),
  37. ]);
  38. event(new Registered($user));
  39. Auth::login($user);
  40. return redirect(route('dashboard', absolute: false));
  41. }
  42. }