Laravel Jetstream是啥?怎么使用它?
时间:2020-09-21 12:51
下面由Laravel教程栏目给大家介绍Laravel Jetstream和其使用方法,希望对需要的朋友有所帮助!
介绍
Laravel 8 与 Laravel Jetstream 一起于9月8日发布。
Laravel Jetstream 是 Laravel 的新应用程序扩展。Laravel Jetstream 替换了旧版本 Laravel 的旧版 Laravel 身份验证UI。
在本教程中,我将为您简要介绍 Laravel Jetstream 以及如何开始使用它。
先决条件
如果要继续学习,则需要 LEMP 服务器以及 composer
或最新的Laravel安装程序。
我将使用 DigitalOcean 进行演示。 如果您还没有 DigitalOcean 账号,则可以使用以下引荐链接获得 $100 的优惠,可以用于部署服务器和测试指南:
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 在启动新项目时为你提供了一个很好的开始!
原文地址:https://devdojo.com/bobbyiliev/what-is-laravel-jetstream-and-how-to-get-started
译文地址:https://learnku.com/laravel/t/49799
以上就是Laravel Jetstream是啥?怎么使用它?的详细内容,更多请关注www.gxlsystem.com其它相关文章!