📜  没有 vue 或 bootstrap 的 laravel auth - PHP (1)

📅  最后修改于: 2023-12-03 14:56:01.672000             🧑  作者: Mango

没有 Vue 或 Bootstrap 的 Laravel Auth

在 Laravel 中,使用认证系统很容易为应用程序添加身份验证和注册系统。虽然官方文档中提到可以使用 Vue 或 Bootstrap 来定制默认模板,但是如果不想使用这两个框架,还是可以自定义样式。

初始设置

首先,运行以下命令来设置认证系统:

php artisan make:auth

这将生成所有必需的视图、控制器和路由,以便在应用程序中使用认证系统。

在此之后,将所有默认设置留空,仅使用 Laravel 提供的功能。

设计自定义样式

由于我们不想使用 Vue 或 Bootstrap,因此我们需要为我们的应用程序设计自定义样式。

我们可以通过以下方式访问已在 auth 系统中使用的所有视图:

resources/views/auth

这里有一些我们可以使用的视图:

  • login.blade.php - 登录表单
  • register.blade.php - 注册表单
  • emails 文件夹 - 密码重置邮件
  • passwords 文件夹 - 重置密码表单

现在,我们可以通过自定义这些视图来创建自己的样式。

修改默认行为

在标准认证系统中,用户注册后会自动登录。如果您不想在注册后自动登录,可以在 RegisterController 中的 create() 方法中添加以下代码:

protected function create(array $data) {
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);

    return $user;
}

为了禁用自动登录,可以将此方法的返回值从 $user 更改为 null

protected function create(array $data) {
    User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);

    return null; // disable auto login
}
结论

在没有 Vue 或 Bootstrap 的情况下,您仍然可以使用 Laravel 的认证系统和自定义样式来创建完全功能的身份验证和注册系统。只需修改默认设置并定制视图即可。