وقتی پروژه بزرگ میشود، ifهای تودرتو برای role و permission کد را بههم میریزد. این پکیج یک سیستم تمیز RBAC روی Eloquent میآورد و با Gate / Policy کاملاً سازگار است.
ویژگیها:
• تعریف role و permission داینامیک از دیتابیس 🧩
• attach شدن به User model با relationهای تمیز
• middleware آماده مثل
role و permission• پشتیبانی از چند guard
نصب و استفاده سریع:
composer require spatie/laravel-permission
php artisan vendor:publish \
--provider\=
"Spatie\Permission\PermissionServiceProvider"
php artisan migrate
// در User model:
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}
// استفاده:
$user->assignRole('admin');
$user->givePermissionTo('edit articles');
برای پنل ادمین، SaaS یا هر اپ multi-tenant، این پکیج واقعا زمان توسعه و باگهای دسترسی را کم میکند.
مستندات رسمی:
Docs
GitHub
امتحانش در پروژه بعدی، معماری auth شما را مرتبتر و قابلگسترشتر میکند 🚀
🔖 #Laravel #PHP #لاراول #Laravel #PHP #spatie #permission #RBAC #auth #eloquent
👤 Developix
💎 Channel: @DevelopixLaravel