📅  最后修改于: 2023-12-03 15:02:34.521000             🧑  作者: Mango
本文将介绍如何使用 Laravel 8 中的种子用户和 Jetstream 团队库来快速构建具有身份验证和团队管理功能的 Web 应用程序。
Laravel 是一个流行的 PHP Web 开发框架,Jetstream 是一个 Laravel 团队创建的库,可以为您提供身份验证和团队管理的功能,包括可自定义的前端样式和组件。
在开始之前,需要在您的机器上安装 PHP 和 Laravel。您可以通过以下命令检查是否安装了 PHP:
php -v
如果您的机器没有安装 PHP,可以从官方网站下载并安装。接下来,您需要在系统上安装 Composer,Composer 是 PHP 的包管理器。您可以在终端中执行以下命令来安装 Composer:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
您还需要安装 Node.js 和 NPM。您可以从官方网站下载并安装 Node.js 和 NPM。
使用以下命令在终端中创建 Laravel 8 项目:
composer create-project --prefer-dist laravel/laravel myproject
cd myproject
php artisan serve
使用上述命令将创建一个名为“myproject”的新 Laravel 8 项目。您可以使用以下命令运行该项目:
php artisan serve
现在,使用浏览器访问 http://localhost:8000,您将看到 Laravel 的欢迎页面。
在开始构建我们的应用程序之前,我们需要更改一些 Laravel 8 项目的默认配置。
默认情况下,Laravel 8 项目的应用程序名称为“Laravel”。您可以轻松地将其更改为自己的应用程序名称。要更改应用程序名称,请打开项目根目录中的 .env 文件,并将以下行的“APP_NAME”值更改为所需的名称:
APP_NAME=My Awesome App
默认情况下,Laravel 8 项目使用 SQLite 数据库。你可以使用其他类型的数据库,例如 MySQL 或 Postgres。
如果您想使用 MySQL,您需要在本地计算机上安装 MySQL 数据库服务器。在安装过程中,将看到MySQL的root用户和密码,将它们记录下来。
要更改 Laravel 8 项目的数据库连接,请打开项目根目录中的 .env 文件,并更改以下行,以使用您的 MySQL 连接信息:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
现在我们配置好了数据库连接,需要运行 Laravel 的数据库迁移命令,这将创建数据库表。打开终端并执行以下命令:
php artisan migrate
默认情况下,Laravel 8 项目在本地开发环境中使用 log 驱动程序,这意味着所有的邮件都会被记录在日志文件中,而不是发送给实际的邮件地址。如果您想要启用实际的邮件发送,请将邮件驱动程序更改为 “smtp”。
要更改 Laravel 8 项目的邮件设置,请打开项目根目录中的 .env 文件,并更改以下行:
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME=Example
请注意,在 SMTP 邮件服务器上运行 Laravel 所需的正确邮箱认证信息。
在 Laravel 8 中,种子用户是您在填充数据库前添加到数据库中的用户。您可以使用以下命令来为您的应用程序创建一个初始的种子用户:
php artisan make:seeder UsersTableSeeder
现在我们需要在 UsersTableSeeder 类的 run 方法中添加一个用户。在 phpMyAdmin 或其他数据库管理工具中,您将看到 users 数据表已创建。
DB::table('users')->insert([
[
'name' => 'John Doe',
'email' => 'johndoe@example.com',
'password' => Hash::make('password'),
]
]);
在上面的代码中,我们向用户表中添加了一个名为“John Doe”的用户,该用户的电子邮件地址为 johndoe@example.com,密码为 password。
使用以下命令运行种子:
php artisan db:seed --class=UsersTableSeeder
以上命令将在当前 Laravel 8 项目的数据表中创建种子用户。
接下来,我们将为应用程序安装 Jetstream 团队。使用以下命令将 Jetstream 团队添加到 Laravel 8 项目中:
composer require laravel/jetstream
php artisan jetstream:install livewire
php artisan migrate
上面的命令将安装 Jetstream 团队库并配置应用程序的身份验证和团队管理功能。您还将执行“php artisan migrate”命令,以添加所需的数据表。
接下来,需要将 Jetstream 团队的视图复制到应用程序的资源目录中。打开终端并运行以下命令:
php artisan jetstream:install --teams --stack=livewire
php artisan jetstream:install --teams
以上命令将复制 Jetstream 团队的视图文件到应用程序的“Resources/Views”目录中。视图文件包括用于身份验证、团队管理、个人资料、设置等的页面。
接下来,需要将 Jetstream 团队的路由文件包含到应用程序的路由文件中。打开应用程序的“routes/web.php”文件,并添加以下路由:
Route::middleware(['auth:sanctum', 'verified'])
->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
Route::get('/teams/create', [TeamController::class, 'create'])->name('teams.create');
Route::get('/teams/{team}', [TeamController::class, 'show'])->name('teams.show');
Route::post('/teams', [TeamController::class, 'store'])->name('teams.store');
Route::put('/current-team', [CurrentTeamController::class, 'update'])->name('current-team.update');
});
上面的代码将为您的应用程序添加一个路由,其中包含对团队创建、显示和更新的支持。
现在,您已经为您的应用程序添加了种子用户和 Jetstream 团队。您可以使用以下命令运行 Laravel 8 Web 应用程序:
php artisan serve
使用浏览器访问 http://localhost:8000,您将看到一个页面,要求您输入登录凭据。使用您在种子用户中添加的凭据进行登录,然后您将看到应用程序的仪表板页面。
从左侧菜单栏,您可以访问团队管理、个人资料和设置等页面。
Jetstream 团队是一个用于构建身份验证和团队管理功能的库,具有可自定义的前端组件和样式。使用本文中提到的步骤,您可以轻松地将 Jetstream 团队添加到您的 Laravel 8 项目中。