Filament — фреймворк админ-панелей для Laravel на базе Livewire. Вместо контроллеров, Blade-страниц и валидации для каждого экрана админки вы описываете resource на PHP и получаете список, создание и редактирование. В уроке используется Filament 4 с Laravel 12.
Установка и первая панель
composer require filament/filament:"^4.0"
php artisan filament:install --panels
php artisan make:filament-user
php artisan make:filament-resource Post --generatefilament:install --panels создаёт app/Providers/Filament/AdminPanelProvider.php и регистрирует его. make:filament-user создаёт учётную запись для входа на /admin.
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use Filament\Support\Colors\Color;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
->login()
->colors(['primary' => Color::Amber])
->discoverResources(
in: app_path('Filament/Resources'),
for: 'App\\Filament\\Resources'
)
->discoverWidgets(
in: app_path('Filament/Widgets'),
for: 'App\\Filament\\Widgets'
);
}
}