📜  laravel 创建注册引导程序 - PHP (1)

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

Laravel 创建注册引导程序 - PHP

在 Laravel 中,我们可以通过使用默认的认证控制器来创建注册引导程序。这个注册引导程序会处理用户的注册申请和登录。现在就来了解如何使用 Laravel 创建注册引导程序吧。

创建 Laravel 项目

首先,我们需要创建一个 Laravel 项目。如果您已经有 Laravel 项目,可以跳过这一步。

composer create-project --prefer-dist laravel/laravel myapp
设置数据库

.env 文件中设置数据库信息:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

然后运行数据库迁移命令来创建用户表:

php artisan migrate
创建认证控制器

现在,我们需要使用 Laravel 的默认认证控制器来注册和登录用户。通过运行以下命令来创建认证控制器:

php artisan make:auth

这个命令会在 app/Http/Controllers/Auth 目录下创建 LoginController.phpRegisterController.phpResetPasswordController.php 控制器。

处理用户注册

现在我们已经有了注册控制器,我们可以继续创建用户注册表单。打开 resources/views/auth/register.blade.php 文件,可以看到默认的注册表单。

我们想要添加一些自定义字段,例如“用户名”和“电子邮件地址”。打开 app/Http/Controllers/Auth/RegisterController.php 文件,并添加以下代码,向表单中添加这些字段:

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => ['required', 'string', 'max:255', 'unique:users'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:8', 'confirmed'],
    ]);
}

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

这里我们在 validator() 方法中添加了一些自定义规则,使表单中多了“用户名”和“电子邮件地址”字段。而在 create() 方法中,我们将这些字段传入到 User 模型的 create() 方法中,以创建一个新用户。

处理用户登录

我们已经处理了用户注册,现在来处理用户登录。

打开 resources/views/auth/login.blade.php 文件,可以看到默认的登录表单。

我们想要添加一个“用户名”字段。打开 app/Http/Controllers/Auth/LoginController.php 文件,并添加以下代码:

public function username()
{
    return 'name';
}

这里我们定义了一个 username() 方法,在 Auth 控制器中指定“用户名”作为登录时的凭证,而不是默认的“邮箱地址”。

结语

现在,我们已经成功地创建了一个 Laravel 认证系统来处理用户注册和登录。这里只是一个简单的示例,您可以自己添加更多自定义字段。祝您使用 Laravel 开发愉快!