شرح صفوف ومحتوى الفقرة
مع توسع التطبيق، يصبح تكديس عشرات البوابات داخل AppServiceProvider صعب الصيانة؛ وهنا تأتي سياسات النماذج Policies لتجمع كافة قواعد الصلاحيات الخاصة بنموذج معين في كلاس مستقل داخل مجلد app/Policies. نفذ الأمر make:policy مع الخيار --model=Post لتوليد سياسة مجهزة بدوال CRUD القياسية.
- التوليد المجهز بالنموذج (--model Flag): ينشئ الكلاس متضمناً دوال العرض والإنشاء والتعديل والحذف والاستعادة تلقائياً.
- مجلد مستقل ومنظم (app/Policies): يعزل منطق الصلاحيات في كلاسات مخصصة يسهل قراءتها واختبارها.
- سياسة لكل نموذج (Model Alignment): يختص كلاس PostPolicy بنموذج المقالات و OrderPolicy بنموذج الطلبات.
PHP
# Generate a CRUD Policy for the Post model
php artisan make:policy PostPolicy --model=Post