لاستخدام حزمة أذواق SPATIE LARAVEL بشكل فعال ، يلزم وجود العديد من تكوينات المحددة وخطوات الإعداد:
التثبيت والنشر
-
- نشر ملف الترحيل والتكوين باستخدام الأمر الحرفي:
بائع PHP الحرفي: Publish -provider = "spatie \ Semission \ PercisionServiceProvider" `.
- قم بتشغيل الترحيل لإنشاء الجداول اللازمة ("الأدوار" ، "الأذونات" ، "Model_has_permissions" ، "Model_has_roles` ،` rol_has_permissions`) في قاعدة البيانات.
تكوين نموذج المستخدم
- يجب أن يستخدم نموذج المستخدم (أو أي نموذج قابل للإنجاز الذي تريد تعيين أدوار/أذونات) سمة "HasRoles` التي توفرها الحزمة. هذا يتيح إدارة الأذن والإذن على النموذج.
تعديلات ملفات التكوين
- تنشر الحزمة ملف `config/semission.php` حيث يمكنك تخصيص الإعدادات مثل أسماء الجدول وإعدادات ذاكرة التخزين المؤقت وفئات النماذج.
- إذا كنت تستخدم UUIDs بدلاً من معرفات التلقائي التلقائي ، فأنت بحاجة إلى ضبط الترحيل وربما ملف التكوين وفقًا لذلك قبل تشغيل الترحيل.
-بالنسبة إلى الإعدادات المتعددة المستأجرين أو القائمة على الفريق ، يجب عليك تمكين وتكوين ميزة "الفرق" في ملف التكوين.
تكوين ذاكرة التخزين المؤقت
- تستخدم الحزمة التخزين المؤقت لتحسين عمليات البحث عن الإذن. بشكل افتراضي ، يتم تعيين انتهاء صلاحية ذاكرة التخزين المؤقت إلى 24 ساعة.
- يمكنك تخصيص متجر Cache و Premix ووقت انتهاء الصلاحية في `config/semission.php` تحت صفيف` cache`.
- في سيناريوهات متعددة المستأجرين ، يُنصح بتعيين بادئة ذاكرة التخزين المؤقت الفريدة لتجنب الاشتباكات.
- إذا قام تطبيقك بتبديل المستأجرين أثناء طلب واحد ، فقد تحتاج إلى إعادة تهيئة ذاكرة التخزين المؤقت للإذن يدويًا.
الوسيطة
- لحماية الطرق بناءً على الأدوار أو الأذونات ، قم بتسجيل الأسماء المستعارة للبرامج الوسيطة ("الدور" ، "إذن" ، `rol_or_permission`) في تكوين kernel http kernel أو الوسيطة.
التخصيص المتقدم
- يمكنك تمديد نماذج الحزمة ونماذج الأذنين إذا كنت ترغب في تخصيص السلوك ، ولكن يجب أن تكون حريصًا على تحديث ملف التكوين للإشارة إلى النماذج المخصصة الخاصة بك.
- يتطلب تغيير أسماء جدول قاعدة البيانات الافتراضية تحديث ملف التكوين وربما الترحيل.
- للحصول على دعم UUID أو حالات الاستخدام المتقدمة الأخرى ، اتبع أقسام الوثائق المتقدمة للحزمة.
باختصار ، تتضمن التكوينات الرئيسية نشر وتخصيص ملف التكوين ، وإضافة سمة "HasRoles` إلى نموذج المستخدم الخاص بك ، وتشغيل الترحيل ، وتكوين التخزين المؤقت بشكل صحيح ، وإعداد الدعم المتوسط ودعم متعدد المستأجرين اختياريًا. يضمن هذه الخطوات أن تعمل حزمة Spatie بفعالية في تطبيق Laravel الخاص بك [1] [2] [6] [8] [9].
الاستشهادات:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequesites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6]
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-but-use-a-different-database-table