شرح صفوف ومحتوى الفقرة
في معمارية Laravel 11 و 12 الحديثة، لا تحتاج لتسجيل السياسات يدوياً طالما يقع النموذج في مجلد app/Models وتقع السياسة في app/Policies بنفس اسم النموذج متبوعاً بكلمة Policy. أما عند استخدام مسارات غير قياسية، فيمكنك ربطهما صراحة عبر دالة Gate::policy في المزود.
- اكتشاف تلقائي بدون إعداد (Auto-Discovery): يربط الإطار نموذج Post بكلاس PostPolicy تلقائياً بمجرد تطابق الاسم.
- التسجيل اليدوي عند الحاجة (Gate::policy): يتيح ربط النموذج بالسياسة برمجياً عند اختلاف التسمية أو المجلد.
- سمة UsePolicy الحديثة (PHP Attribute): يدعم Laravel 12 وضع سمة UsePolicy مباشرة فوق كلاس النموذج.
PHP
// Automatic: App\Models\Post -> App\Policies\PostPolicy
// Or explicit registration in AppServiceProvider::boot():
Gate::policy(Post::class, PostPolicy::class);