انتقل إلى محتوى الدرس

Checking Policies on User Model فحص السياسات عبر كائن المستخدم

تنظيم قواعد الصلاحيات الخاصة بكل نموذج داخل كلاسات Policies للتحكم الدقيق في عرض وتعديل وحذف السجلات وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يتضمن نموذج User سمة التفويض التي تمنحك دالتي can و cannot مباشرة على كائن المستخدم. مرر نسخة السجل مثل $user->can('update', $post) لفحص صلاحيات التعديل والحذف، أو مرر اسم الكلاس Post::class عند فحص صلاحية إنشاء سجل جديد.

  • فحص سجل قائم ($user->can Instance): يستدعي دالة update في سياسة المقال ويمرر لها السجل.
  • فحص إنشاء جديد (Post::class Target): نمرر اسم الكلاس النصي لعدم وجود كائن مقال منشأ بعد.
  • التكامل مع البوابة (Gate::authorize): تعمل دالة Gate::authorize مع السياسات أيضاً وتطلق 403 عند الرفض.
PHP
if ($request->user()->cannot('create', Post::class)) {
    abort(403);
}

Gate::authorize('update', $post);