نمونه کد:
if ($user->role == "admin") {
// ...
}در نگاه اول مشکلی ندارد.
اما اگر بعداً نقشهای جدید اضافه شوند:
* super_admin
* manager
* editor
این شرطها در کل پروژه پراکنده میشوند.
راه حرفهای:
منطق دسترسی را در Policy، Gate یا Permission System متمرکز کنید.
مثلاً:
$user->can('manage-users');---
🎯 هرچه قوانین کسبوکار در یک نقطه متمرکزتر باشند، نگهداری پروژه آسانتر خواهد بود.
💡 توسعهدهندگان حرفهای وابستگی به مقادیر ثابت (Magic String) را تا حد ممکن کاهش میدهند.
@CodeVerse_dev