شرح صفوف ومحتوى الفقرة
لفحص بوابة صلاحية بشكل شرطي داخل دالة المتحكم، استدعِ دالة Gate::allows أو Gate::denies ومرر اسم الصلاحية مع النموذج المستهدف. لا تحتاج لتمرير كائن المستخدم الحالي يدوياً؛ إذ يتولى Laravel جلبه وحقنه في البوابة تلقائياً.
- فحص السماح (Gate::allows): تعيد القيمة true إذا كان المستخدم الحالي يمتلك الصلاحية المطلوبة.
- فحص المنع (Gate::denies): تعيد القيمة true إذا كان المستخدم الحالي ممنوعاً من تنفيذ الإجراء.
- الفحص لمستخدم آخر (Gate::forUser): تتيح فحص الصلاحية لحساب مستخدم معين غير المستخدم النشط في الجلسة.
PHP
if (Gate::denies('update-post', $post)) {
abort(403, 'You do not own this post.');
}
$post->update($request->validated());