Laravel Jetstream是啥 怎么使用它

下面由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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注