Install Laravel & Laravel Permission
Install laravel 11
Kita akan menginstall laravel versi 11, dengan menggunakan scafolding laravel 11.0.8.
composer create-project laravel/laravel=11.0.8 laravel-permission
Selanjutnya buka project kita, disini saya akan menggunakan vscode
cd laravel-permission && code .
Setelah menjalankan perintah diatas, vscode akan terbuka. Saya akan menggunakan git pada project ini, agar history perubahan dapat terlihat.
git init && git add . && git commit -m "init commit"
Sekarang kita bisa jalankan perintah artisan untuk menjalankan server lokal project laravel kita
php artisan serve
INFO Server running on [http://127.0.0.1:8000].
Langsung saja buka pada browser untuk melihat project laravel kita http://127.0.0.1:8000
Install spatie/laravel-permission & Setup
Langsung aja kita install packagenya via composer
composer require spatie/laravel-permission
Lanjut kita publish providernya
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
Maka akan di buatkan dua file sekaligus, pada folder config dan database
- config/permission.php
- database/migrations/timestamp_create_permission_table.php
Config, merupakan config untuk permission dan migration merupakan migration untuk table-table yang dibutuhkan.
php artisan migrate
Jalankan perintah diatas untuk membuat table dari migration spatie tersebut, maka akan di buatkan beberapa table, diantaranya
- roles
- role_has_permissions
- permissions
- model_has_permissions
- model_has_roles
Kemudian kita tambahkan trait HasRoles pada model User, supaya kita dapat menggunakan fungsi-fungsi yang ada pada package ini
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasFactory, Notifiable, HasRoles;
....
}