什么是 Laravel Jetstream 及怎么使用它?
介绍#
Laravel 8 与 Laravel Jetstream 一起于 9 月 8 日发布。
Laravel Jetstream 是 Laravel 的新应用程序扩展。Laravel Jetstream 替换了旧版本 Laravel 的旧版 Laravel 身份验证 UI。
在本教程中,我将为你简要介绍 Laravel Jetstream 以及如何开始使用它。
先决条件#
如果要继续学习,则需要 LEMP 服务器以及 composer
或最新的 Laravel 安装程序。
我将使用 DigitalOcean 进行演示。 如果你还没有 DigitalOcean 账号,则可以使用以下引荐链接获得 $100 的优惠,可以用于部署服务器和测试指南:
什么是 Laravel Jetstream#
Jetstream 为你的新项目提供了一个更好的开始。它包括以下组件:
- 登录和注册功能
- 电子邮件验证
- 双重验证
- Session 管理
- 通过 Laravel Sanctum 提供 API 支持
Laravel Jetstream 取代了以前版本的 Laravel 身份验证 UI。
Jetstream 使用了 Tailwind CSS ,你可以选择 Livewire 或者 Inertia 组件。
Laravel Jetstream 是免费的开源软件。
安装 Laravel Jetstream#
你可以使用 composer
或 Laravel 安装程序两种方法安装 Laravel Jetstream 。
使用 Laravel 安装程序安装 Laravel Jetstream#
如果你已经有了最新版本的 Laravel 安装程序,你只需使用 --jet
即可安装新的 laravel Jetstream 项目:
laravel new project-name --jet
然后,像往常一样,请确保运行你的迁移:
php artisan migrate
使用 Composer 来安装 Laravel Jetstream#
如果你更喜欢使用 composer ,则需要像使用其他软件包一样在 Laravel 目录中运行以下命令:
composer require laravel/jetstream
注意:你需要安装 Laravel 8。否则,以上命令将失败。
然后,你需要运行 artisan jetstream:install
并指定需使用的栈
- 如果你要 Livewire 和 Blade 一起使用,请运行:
php artisan jetstream:install livewire
- 如果你要 Inertia 与 Vue 一起使用,请运行:
php artisan jetstream:install inertia
你也可以添加 --teams
来启用 Laravel Jetstream 组管理。
之后,执行:
npm install && npm run dev
上面的命令将安装所需的依赖以及构建打包。
最后,请确保运行你的迁移:
php artisan migrate
认证方式#
你的新 Jetstream 应用程序提供以下功能开箱即用:
- 登录表单
- 双重验证
- 注册表单
- 重置密码
- 电子邮件验证
你可以在以下位置找到这些视图文件:
resources/views/auth
后端逻辑由 Laravel Fortify 提供支持。
你可以在以下目录中找到 Fortify 进行操作:
app/Actions/Fortify/
你可以在以下目录找到 Fortify 配置:
config/fortify.php
在 fortify.php
配置文件中,你可以进行一些更改,例如启用和禁用不同的功能,例如:
'features' => [
Features::registration(),
Features::resetPasswords(),
// Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication(),
],
个人资料管理#
Jetstream 即开即用,提供了用户个人资料管理功能,该功能允许用户更新姓名,电子邮件地址和个人资料照片。
用户个人资料视图存储在:
resources/views/profile/update-profile-information-form.blade.php
如果你使用的是 Inertia ,则可以在以下位置找到该视图:
resources/js/Pages/Profile/UpdateProfileInformationForm.vue
以下文件处理用户更新逻辑:
app/Actions/Fortify/UpdateUserProfileInformation.php
如果需要的话,你还可以通过以下位置的 Jetstream 配置文件禁用用户个人资料图片:
config/jetstream.php
只需要注释掉 Features::profilePhotos()
这一行:
'features' => [
// Features::profilePhotos(),
Features::api(),
// Features::teams(),
],
Jetstream 安全管理#
Laravel Jetstream 带有允许用户更新密码并注销的功能:
而且,让人意想不到的是, Jetstream 还提供带有二维码的双重身份验证,用户可以直接启动和禁用:
另一个出色的功能是用户可以注销其他浏览器的 Session 会话。
Blade 的资源文件可以在以下位置找到:
resources/views/profile/
如果你使用的是 Inertia ,则可以在以下位置找到它们:
resources/js/Pages/Profile/
Jetstream API#
Laravel Jetstream 使用了 Laravel Sanctum 来提供便捷的基于令牌的 API 。
使用 Sanctum ,每个用户都可以生成具有特定权限的 API 令牌,例如创建,读取,更新和删除。
然后要检查请求权限,可以使用以下的 tokenCan
方法:
$request->user()->tokenCan('read');
同样,你可以在 config/jetstream.php
配置文件中禁用 API 支持。
Jetstream 组#
如果你在 Jetstream 使用了 --team
,则你的网站支持组创建和管理。
使用 Jetstream 组功能,每个用户都可以创建并属于多个不同的组。
有关 Jetstream 组的更多信息,你可以查看官方文档。
结论#
Laravel Jetstream 在启动新项目时为你提供了一个很好的开始!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: