قم بإدارة المستخدمين لديك من خلال مورد مستخدم قابل للتخصيص بدرجة كبيرة لـ FilamentPHP مع دمج filament-shield وfilament-impersonate.
بالنسبة للخيوط v2 يرجى استخدام هذا الريبو
موارد المستخدمين
السماح بنشر موارد المستخدم
السماح باستخدام الدرع
السماح باستخدام انتحال الشخصية
السماح باستخدام فئة الواجهة لتخصيص مورد المستخدم الحالي
التكامل مع فرق Laravel Jetstream
نموذج المستخدم المخصص من ملف التكوين
نموذج الفريق المخصص من ملف التكوين
نموذج الدور المخصص من ملف التكوين
صفحة الملف الشخصي لمستخدم Laravel Jetsream
السماح بالصور الرمزية للمستخدم / الفرق
صفحات التسجيل/تسجيل الدخول المخصصة لـ Laravel Jetstream
أضف صفحة OTP لعملية التسجيل
يتطلب الملحن مستخدمي الطماطم/الخيوط
أخيرًا قم بتسجيل المكون الإضافي على /app/Providers/Filament/AdminPanelProvider.php
->البرنامج المساعد(TomatoPHPFilamentUsersFilamentUsersPlugin::make())
يمكنك استخدام الدرع لحماية مواردك والسماح بأدوار المستخدم عن طريق تثبيته أولاً
الملحن يتطلب bezhansaleh/خيوط الدرع
قم بإضافة سمة SpatiePermissionTraitsHasRoles إلى نموذج (نماذج) المستخدم الخاص بك:
استخدم IlluminateFoundationAuthUser كقابل للمصادقة;use SpatiePermissionTraitsHasRoles;class User Extends Authenticatable{ use HasRoles; // ...}
انشر ملف التكوين ثم قم بإعداد التكوين الخاص بك:
->plugin(BezhanSallehFilamentShieldFilamentShieldPlugin::make())
الآن قم بتشغيل الأمر التالي لتثبيت الدرع:
درع الحرفيين PHP: تثبيت
الآن يمكننا نشر أصول الحزمة.
بائع PHP الحرفي: نشر --tag="filament-users-config"
الآن على تكوين filament-users.php
الخاص بك، قم بالسماح بالدرع
/* * درع خيوط المستخدم */"shield" => صحيح،
الآن قم بمسح التكوين الخاص بك
التكوين الحرفي PHP: ذاكرة التخزين المؤقت
لمزيد من المعلومات، تحقق من Filament Shield
يمكنك استخدام انتحال الشخصية لانتحال شخصية المستخدم عن طريق تثبيته أولاً
يتطلب الملحن stechstudio/filament-impersonate
الآن على تكوين filament-users.php
الخاص بك، قم بالسماح بالدرع
/* * انتحال شخصية المستخدم */"انتحال شخصية" => صحيح،
الآن قم بمسح التكوين الخاص بك
التكوين الحرفي PHP: ذاكرة التخزين المؤقت
لمزيد من المعلومات، تحقق من انتحال شخصية الشعيرة
يمكنك استخدام Laravel Jetstream Teams عن طريق تثبيته أولاً
يتطلب الملحن Laravel/Jetstream
أنت الآن بحاجة إلى تثبيت jetstream باستخدام Livewire
PHP Artisan Jetstream: تثبيت Livewire
انتقل إلى jetstream.php
واسمح بميزة الفرق
'features' => [// Features::termsAndPrivacyPolicy(),// Features::profilePhotos(),// Features::api(), Features::teams(['invitations' => true])،// الميزات::accountDeletion(),],
أنت الآن بحاجة إلى نشر ترحيل الفرق من jetstream
بائع PHP الحرفي: نشر --tag=jetstream-teams-migrations
أنت الآن بحاجة إلى ترحيل هجرة الفرق
ترحيل الحرفيين PHP
الآن على تكوين filament-users.php
الخاص بك، قم بالسماح بالدرع
/* * فرق خيوط المستخدم */"teams" => true,
الآن قم بمسح التكوين الخاص بك
التكوين الحرفي PHP: ذاكرة التخزين المؤقت
يمكنك نشر المورد لمشروعك
مستخدمي خيوط PHP الحرفيين: نشر
سيتم نشر المورد لمشروعك
ثم انتقل إلى ملف التكوين filament-users.php
وقم بتغيير publish_resource
إلى true
يمكنك تسجيل مدير علاقات المستخدمين لمشروعك
استخدم TomatoPHPFilamentUsersFacadesFilamentUser;تمهيد الوظيفة العامة () { خيوط المستخدم::تسجيل([ FilamentResourcesRelationManagersRelationManager::make() // استبدله بمدير العلاقات المخصص الخاص بك ])؛ }
لقد أضفنا الكثير من الخطافات لتسهيل إرفاق الإجراءات والأعمدة والمرشحات وما إلى ذلك
استخدم TomatoPHPFilamentUsersResourcesUserResourceTableUserTable;تمهيد الوظيفة العامة () { جدول المستخدم::تسجيل([ FilamentTablesColumnsTextColumn::make('شيء ما') ]); }
استخدم TomatoPHPFilamentUsersResourcesUserResourceTableUserActions;تمهيد الوظيفة العامة () { إجراءات المستخدم::تسجيل([ FilamentTablesActionsReplicateAction::make() ]); }
استخدم TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters;تمهيد الوظيفة العامة () { عوامل تصفية المستخدم::تسجيل([ FilamentTablesFiltersSelectFilter::make('something') ]); }
استخدم TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions;التمهيد الوظيفة العامة () { UserBulkActions::تسجيل([ FilamentTablesBulkActionsDeleteAction::make() ]); }
استخدم TomatoPHPFilamentUsersResourcesUserResourceFormUserForm;تمهيد الوظيفة العامة () { نموذج المستخدم::تسجيل([ FilamentFormsComponentsTextInput::make('something') ]); }
استخدام TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions;استخدام TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions;استخدام TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions;استخدام TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions;تمهيد الوظيفة العامة () { ManageUserActions::register([ FilamentActionsAction::make('action') ])؛ EditPageActions::register([ FilamentActionsAction::make('action') ]); ViewPageActions::register([ FilamentActionsAction::make('action') ]); CreatePageActions::register([ FilamentActionsAction::make('action') ])؛ }
استخدم TomatoPHPFilamentUsersResourcesUserResourceInfolistUserInfolist;التمهيد الوظيفة العامة () { UserInfolist::تسجيل([ FilamentInfolistsComponentsTextEntry::make('something') ])؛ }
يمكنك تخصيص جميع فئات الموارد لتكون أي فئة تريدها بنفس العائد من ملف التكوين
/** * -------------------------------------------- * بناء الموارد * -------------------------------------------- * إذا تريد استخدام فئة المورد المخصصة */'resource' => [ 'table' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceTableUserTable::class, 'filters' => TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters::class, 'actions' => TomatoPHPFilamentUsersResourcesUserResourceTableUserActions::class, 'bulkActions' => TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions::class، ], 'form' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceFormUserForm::class ], 'infolist' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceInfoListUserInfoList::class ], 'pages' => [ 'list' => TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions::class, 'create' => TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions::class, 'تحرير' => TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions::class, 'view' => TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions::class ] ]
يمكنك استخدام مورد المستخدم البسيط عن طريق التغيير في التكوين، في تكوين filament-users.php
الخاص بك الذي يسمح بالبساطة
/** * -------------------------------------------- * استخدم مصدرًا بسيطًا * -------------------------------------------- * قم بتغيير المورد من الصفحات إلى الوسائط عن طريق السماح بمورد بسيط. */'بسيط' => صحيح،
يمكنك نشر ملف التكوين باستخدام هذا الأمر
بائع PHP الحرفي: نشر --tag="filament-users-config"
يمكنك نشر ملف اللغات باستخدام هذا الأمر
بائع PHP الحرفي: نشر --tag="filament-users-lang"
إذا كنت ترغب في إجراء اختبار PEST
، فما عليك سوى استخدام هذا الأمر
اختبار الملحن
إذا كنت ترغب في إصلاح نمط التعليمات البرمجية، فما عليك سوى استخدام هذا الأمر
تنسيق الملحن
إذا كنت ترغب في التحقق من الكود بواسطة PHPStan
فما عليك سوى استخدام هذا الأمر
تحليل الملحن
تحقق من TomatoPHP الرائع الخاص بنا