شرح صفوف ومحتوى الفقرة
يتيح لك Laravel أيضاً فرض الصلاحيات مباشرة في تعريف المسار باستخدام البرمجية الوسيطة can أو الدالة السلسة ->can على المسار. عند كتابة ->can('update', 'post')، يلتقط الإطار تلقائياً كائن النموذج المرتبط بالمعامل {post} ويمرره إلى دالة update في السياسة قبل تشغيل المتحكم.
- ربط معامل المسار (->can('update', 'post')): يمرر كائن المقال المرتبط بالمعامل {post} في الرابط إلى السياسة.
- ربط كلاس النموذج (->can('create', Post::class)): يمرر اسم الكلاس في مسارات الإنشاء التي لا تحتوي معامل سجل.
- صيغة الوسيط النصية (can:update,post): تكافئ تماماً استخدام الدالة السلسة can على المسار.
PHP
Route::put('/posts/{post}', [PostController::class, 'update'])
->can('update', 'post');
Route::post('/posts', [PostController::class, 'store'])
->can('create', Post::class);