تعیین Policyها به صورت خودکار در لاراول ۵.۸

در مقاله امروز لیداوب با یکی دیگر از ویژگی‌های جدید اضافه شده به نسخه ۵.۸ لاراول آشنا خواهیم شد.


 بیشتر بخوانید:

در لاراول ۵.۸، تا زمانی که policyها و مدل‌ها در مکان‌های متعارف خود قرار داشته باشند، نیازی به ثبت آن‌ها در کلاس AuthServiceProvider نیست.

اما اگر مدل‌ها یا policyهای شما در مکان‌های غیر متعارف قرار داشته باشند، می‌توانید منطق حدس زدن policy را از طریق Gate سفارشی کنید:

Gate::guessPolicyNamesUsing(function ($class) {
// Do stuff

});

در لاراول ۵.۷، policyها از طریق آرایه پیکربندی موجود در AuthServiceProvider همراه مدل به عنوان کلید mapping به policyهای مرتبط، مشخص می‌شدند:

protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy'
];

در عین حال، در لاراول ۵.۸ شما می‌توانید از آرایه $policies برای تعیین policyهای خود به صورت دستی نیز استفاده کنید، با این حال، اگر policyهای جدیدی را با استفاده از قراردادهای معمول مسیر کلاس برای مدل‌ها و policy‌های خود ایجاد کنید، نیازی نیست نگرانی در مورد اضافه کردن policyهای اضافه شده، به پیکربندی (configuration) داشته باشید.

مطالعه مقالات مرتبط:

 با سایر مقالات کاربردی لاراول ما در لیداوب همراه باشید.