通过集成灯丝屏蔽和灯丝模拟的 FilamentPHP 高度可定制的用户资源来管理您的用户。
对于灯丝 v2,请使用此存储库
用户资源
允许发布用户资源
允许使用盾牌
允许使用模拟
允许使用Facade Class自定义当前用户资源
与 Laravel Jetstream 团队集成
来自配置文件的自定义用户模型
来自配置文件的自定义团队模型
来自配置文件的自定义角色模型
Laravel Jetsream 用户个人资料页面
允许用户/团队头像
Laravel Jetstream 的自定义注册/登录页面
将 OTP 页添加到注册进程
作曲家需要 tomatophp/filament-users
最后在/app/Providers/Filament/AdminPanelProvider.php
上注册插件
->插件(TomatoPHPFilamentUsersFilamentUsersPlugin::make())
您可以使用盾牌来保护您的资源并通过先安装它来允许用户角色
作曲家需要 bezhansaleh/filament-shield
将 SpatiePermissionTraitsHasRoles 特征添加到您的用户模型中:
使用 IlluminateFoundationAuthUser 作为 Authenticatable;使用 SpatiePermissionTraitsHasRoles;class User 扩展 Authenticatable{ use HasRoles; // ...}
发布配置文件然后设置您的配置:
->插件(BezhanSallehFilamentShieldFilamentShieldPlugin::make())
现在运行以下命令来安装shield:
php artisan 盾:安装
现在我们可以发布包资源了。
php artisan 供应商:发布 --tag="filament-users-config"
现在在你的filament-users.php
配置中允许屏蔽
/* * 用户灯丝屏蔽 */"shield" => true,
现在清除你的配置
php artisan 配置:缓存
欲了解更多信息,请查看灯丝屏蔽
您可以先安装它,然后使用 impersonate 来模拟用户
作曲家需要 stechstudio/filament-impersonate
现在在你的filament-users.php
配置中允许屏蔽
/* * 用户灯丝模拟 */"impersonate" => true,
现在清除你的配置
php artisan 配置:缓存
欲了解更多信息,请查看灯丝模拟
您可以先安装 Laravel Jetstream Teams 以使用它
作曲家需要 laravel/jetstream
现在你需要使用 livewire 安装 jetstream
php artisan jetstream:安装 livewire
转到jetstream.php
并允许团队功能
'features' => [// Features::termsAndPrivacyPolicy(),// Features::profilePhotos(),// Features::api(), Features::teams(['invitations' => true]),//功能::accountDeletion(),],
现在您需要发布来自 jetstream 的团队迁移
php artisan 供应商:发布 --tag=jetstream-teams-migrations
现在您需要迁移团队迁移
php 工匠迁移
现在在你的filament-users.php
配置中允许屏蔽
/* * 用户灯丝团队 */"teams" => true,
现在清除你的配置
php artisan 配置:缓存
您可以将资源发布到您的项目
php artisan 灯丝用户:发布
它将把资源发布到您的项目
而不是转到filament-users.php
配置文件并将publish_resource
更改为true
您可以将用户关系管理器注册到您的项目中
使用 TomatoPHPFilamentUsersFacadesFilamentUser;公共函数 boot() { 灯丝用户::注册([ FilamentResourcesRelationManagersRelationManager::make() // 替换为您的自定义关系管理器 ]); }
我们添加了很多钩子,以便轻松附加操作、列、过滤器等
使用 TomatoPHPFilamentUsersResourcesUserResourceTableUserTable;公共函数 boot() { 用户表::注册([ FilamentTablesColumnsTextColumn::make('something') ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceTableUserActions;公共函数 boot() { 用户操作::注册([ FilamentTablesActionsReplicateAction::make() ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters;公共函数 boot() { 用户过滤器::注册([ FilamentTablesFiltersSelectFilter::make('something') ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions;公共函数 boot() { UserBulkActions::register([ FilamentTablesBulkActionsDeleteAction::make() ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceFormUserForm;公共函数 boot() { 用户表单::注册([ FilamentFormsComponentsTextInput::make('something') ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions;使用 TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions;使用 TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions;使用 TomatoPHPFilamentUsersResourcesUserResourceActions CreatePageActions;公共函数boot() { ManageUserActions::register([ FilamentActionsAction::make('action') ]); EditPageActions::register([ FilamentActionsAction::make('action') ]); ViewPageActions::register([ FilamentActionsAction::make('action') ]); CreatePageActions::register([ FilamentActionsAction::make('action') ]); }
使用 TomatoPHPFilamentUsersResourcesUserResourceInfolistUserInfolist;public 函数 boot() { 用户信息列表::注册([ FilamentInfolistsComponentsTextEntry::make('某事') ]); }
您可以将所有资源类自定义为您想要的任何类,并从配置文件中获得相同的返回值
/** * --------------------------------------------------------- *资源建设 * --------------------------------------------------------- * 如果你想使用资源自定义类 */'resource' => [ 'table' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceTableUserTable::class, 'filters' => TomatoPHP FilamentUsersResourcesUserResourceTableUserFilters::class, 'actions' => TomatoPHPFilamentUsersResourcesUserResourceTableUserActions::class, 'bulkActions' => TomatoPHPFilamentUsersResourcesUserResourceTable UserBulkActions::类, ], 'form' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceFormUserForm::class ], 'infolist' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceInfoListUserInfoList::class ], '页面' => [ '列表' => TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions::class, '创建' => TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions::class, '编辑' => TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions::class,'视图' => TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions::class ] ]
您可以通过更改配置来使用简单的用户资源,在您的filament-users.php
配置中允许简单
/** * --------------------------------------------------------- *使用简单资源 * --------------------------------------------------------- *通过允许简单资源将资源从页面更改为模式。 */'简单' => 正确,
您可以使用此命令发布配置文件
php artisan 供应商:发布 --tag="filament-users-config"
您可以使用此命令发布语言文件
php artisan 供应商:发布 --tag="filament-users-lang"
如果你想运行PEST
测试,只需使用这个命令
作曲家测试
如果你想修复代码风格只需使用这个命令
作曲家格式
如果您想通过PHPStan
检查代码,只需使用此命令
作曲家分析
查看我们很棒的 TomatoPHP