Panel administracyjny w Laravel nie musi zajmować tygodni. Z Filament 5 pierwszy działający CRUD — lista, formularz, filtry, wyszukiwanie i uprawnienia — powstaje w kilka godzin, a nie dni. Ten artykuł to praktyczny skrót procesu, który powtarzamy w każdym projekcie: od instalacji, przez pierwszy zasób, po wdrożenie na produkcję.
- Przykład: panel do obsługi zamówień w sklepie. Zakładamy Laravel 12, PHP 8.3 i Filament 5 — jeśli dopiero wybierasz narzędzie, kontekst znajdziesz w artykule Filament i Livewire — panele administracyjne w Laravel.
Krok 1 — instalacja Filament 5
Wymagania: PHP 8.2+, Laravel 11.28+ i Livewire 4. Instalacja to jedna komenda Composera i kreator panelu
composer require filament/filament:"^5.0"
php artisan filament:install --panels
php artisan make:filament-user
Po instalacji panel jest dostępny pod /admin. Kreator zakłada konto administratora — w kolejnych krokach dodamy role i uprawnienia, żeby nie każdy użytkownik widział wszystko.
Krok 2 — model i migracja
Zacznij od danych. Dla zamówień wystarczy model z kilkoma polami i statusem
php artisan make:model Order -m
W migracji dodaj pola biznesowe (numer, klient, kwota, status, daty), a w modelu — enum statusu i relacje. Zasada, którą stosujemy zawsze: logika biznesowa w modelach i serwisach, panel tylko wyświetla i edytuje.
Krok 3 — pierwszy zasób (resource)
Filament generuje cały CRUD z jednego polecenia
php artisan make:filament-resource Order --generate
Dostajesz listę z sortowaniem i wyszukiwaniem, formularz z walidacją, filtry i akcje — wszystko w PHP. --generate tworzy formularz i tabelę na podstawie kolumn w bazie; potem dopracowujesz je deklaratywnie: TextInput::make('number')->required(), Select::make('status')->options(OrderStatus::class), relacje przez Select::make('customer_id')->relationship('customer', 'name').
Filtry i akcje, które robią różnicę
-
filtr po statusie i zakresie dat — jednym
Filter::make(), -
- akcje masowe: zmiana statusu wielu zamówień naraz, eksport zaznaczonych do CSV,
-
akcja „wyślij potwierdzenie" z modala — bez wychodzenia z listy.
Te elementy to zwykle 80% wartości panelu: zespół obsługi nie szuka rekordów w bazie, tylko pracuje na liście.
Krok 4 — role i uprawnienia
Panel bez uprawnień to dziura w bezpieczeństwie. Filament integruje się z Laravel Policies i pakietem Spatie Permission — kontrola działa na poziomie zasobów, akcji i pojedynczych pól. Pełny przepis znajdziesz w artykule uprawnienia i role w panelu Filament; minimum na start to:
- rola „obsługa" widzi zamówienia, ale nie widzi modułu klientów i raportów finansowych,
- rola „manager" widzi wszystko w swoim zespole,
- administrator ma dostęp do ustawień i użytkowników.
Krok 5 — dashboard z liczbami
Widgety zamieniają panel w narzędzie decyzyjne. StatsOverviewWidget z trzema metrykami (zamówienia dziś, wartość sprzedaży, zaległe wysyłki) to kilkanaście linii PHP. Wykresy (ChartWidget) dołożysz, gdy zespół zacznie pytać o trendy.
Wskazówka: Dashboard projektuj pod pytania zespołu, nie pod dostępne dane. Trzy metryki, na które ktoś realnie reaguje, są warte więcej niż dwanaście wykresów, których nikt nie otwiera.
Krok 6 — wdrożenie na produkcję
Przed wdrożeniem domknij standardowy zestaw: php artisan optimize (cache konfiguracji i tras), kolejki na Redis z Horizonem dla eksportów i maili, backup bazy i monitoring błędów. Panel to aplikacja jak każda inna — obowiązują go te same zasady co resztę systemu, plus bezpieczeństwo na poziomie kont administracyjnych.
Ile to naprawdę trwa?
| Zakres | Czas dla doświadczonego zespołu |
|---|---|
| Instalacja + pierwszy CRUD | kilka godzin |
| Panel z rolami, filtrami, eksportami | 1–2 tygodnie |
| Panel z workflow i integracjami | 3–6 tygodni |
Szkielet powstaje szybko — różnicę robi dopracowanie: uprawnienia, walidacje, wydajność przy większych danych (optymalizacja Livewire) i integracje z systemami zewnętrznymi. Dokładne widełki kosztowe rozkładam w artykule o wycenie aplikacji webowej.
Najczęściej zadawane pytania
Czy do budowy panelu w Filament trzeba znać JavaScript?
Nie. Cały panel definiujesz w PHP — formularze, tabele, filtry i akcje. JavaScript (Alpine.js) przydaje się tylko przy niestandardowych widgetach w interfejsie. To właśnie dlatego Filament wybierają zespoły backendowe bez frontendowca.
Ile trwa zbudowanie panelu administracyjnego w Laravel?
Pierwszy działający CRUD z Filament to kilka godzin. Panel biznesowy z rolami, raportami i eksportami to 1–2 tygodnie pracy doświadczonego zespołu, a rozbudowany panel z workflow — 3–6 tygodni.
Czy Filament działa z Laravel 12?
Tak — Filament 5 wymaga Laravela 11.28+ i wspiera Laravel 12. Wymagane są też PHP 8.2+, Livewire 4 i Tailwind CSS 4.
Czy tutorial wystarczy, żeby wdrożyć panel produkcyjnie?
Szkielet tak — ale produkcja wymaga jeszcze uprawnień (role, polityki), audytu zmian, limitowania logowania, testów i planu wdrożenia. To warstwa, którą w projektach klienckich robimy standardowo; poniżej linki do artykułów, które ją rozkładają.
👉 Wolisz, żeby panel zbudował doświadczony zespół? Budujemy panele administracyjne w Filament — od prostych CRUD-ów po systemy z workflow i integracjami. Zobacz Laravel Development lub programistę Laravel na zlecenie.
📖 Zobacz również: Filament i Livewire — panele administracyjne w Laravel, uprawnienia i role w panelu Filament, Filament vs Nova vs Backpack oraz frontend dla Laravel — jak wybrać.