najstabilnijih i najproduktivnijih okvira za razvoj web aplikacija.
U kombinaciji sa Livewire 3 i Filament 3,
moguće je izgraditi moderan, brz i skalabilan admin panel uz minimalan napor.U ovom članku prolazimo kroz kompletnu instalaciju i osnovnu konfiguraciju Filament 3 admin panela
u Laravel 12 aplikaciji, sa fokusom na realne projekte i produkcionu upotrebu.
Šta je Filament i zašto ga koristiti?
Filament je admin panel framework za Laravel koji koristi:
- Laravel (backend logika)
- Livewire 3 (reaktivne komponente bez JavaScript-a)
- Tailwind CSS (moderan UI)
Filament omogućava brzo kreiranje:
- CRUD interfejsa
- administrativnih dashboard-a
- formi i tabela
- kompleksnih poslovnih sistema
Sve to uz maksimalno poštovanje Laravel konvencija i bez narušavanja arhitekture aplikacije.
Preduslovi za Laravel 12 i Filament 3
Pre početka instalacije, neophodno je da vaš sistem ispunjava sledeće uslove:
- PHP 8.2 ili noviji
- Laravel 12 (sveža instalacija ili postojeći projekat)
- Composer 2.x
- Osnovno poznavanje Eloquent ORM-a
Instalacija Filament 3 u Laravel 12 aplikaciji
Filament 3 je u potpunosti kompatibilan sa Laravel 12 i Livewire 3.
Instalacija se vrši putem Composer-a.
composer require filament/filament:"^3.0"
Nakon toga pokrećemo zvanični Filament installer:
php artisan filament:install --panels
Ova komanda automatski:
- kreira Admin panel
- registruje Filament provajdere
- povezuje Livewire 3
- priprema strukturu direktorijuma
Kreiranje admin korisnika
Filament koristi Laravel-ov autentifikacioni sistem.
Za kreiranje korisnika sa pristupom admin panelu koristi se sledeća komanda:
php artisan make:filament-user
Nakon unosa email-a i lozinke, korisnik je spreman za prijavu.
Pristup Filament admin panelu
Podrazumevana putanja admin panela je:
/admin
Nakon uspešne prijave, dobija se kompletan admin interfejs baziran na Filament 3.
Kreiranje CRUD resursa u Filamentu
Jedna od najvećih prednosti Filamenta je automatsko generisanje CRUD logike.
Primer za Post model:
php artisan make:filament-resource Post
Ova komanda generiše:
- listu zapisa
- formu za kreiranje
- formu za izmenu
- Filament stranice
Svi fajlovi se nalaze u direktorijumu:
app/Filament/Resources
Ograničavanje pristupa admin panelu
Po default-u, svaki autentifikovani korisnik ima pristup Filamentu,
što u realnim aplikacijama nije preporučljivo.
Najčešće rešenje je korišćenje is_admin kolone u tabeli users.
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
class User extends Authenticatable implements FilamentUser
{
public function canAccessPanel(Panel $panel): bool
{
return $this->is_admin === true;
}
}
Ovim pristupom se obezbeđuje da samo administratori mogu pristupiti Filament admin panelu.
Osnovna konfiguracija Filament admin panela
Konfiguracija admin panela se vrši u sledećem fajlu:
app/Providers/Filament/AdminPanelProvider.php
public function panel(Panel $panel): Panel
{
return $panel
->default()
->path('admin')
->login()
->brandName('Beodata Admin');
}
Ovde se definišu osnovne postavke poput:
- URL putanje admin panela
- naziva aplikacije
- middleware-a
- vizuelnog identiteta
Zaključak
Kombinacija Laravel 12, Livewire 3 i Filament 3
predstavlja trenutno jedno od najmoćnijih rešenja za izradu administrativnih sistema u PHP svetu.
Filament omogućava brzu implementaciju, čistu arhitekturu i odličnu skalabilnost,
što ga čini idealnim izborom za ozbiljne poslovne aplikacije.