Filament — фреймворк админ-панелей для Laravel на базе Livewire. Вместо контроллеров, Blade-страниц и валидации для каждого экрана админки вы описываете resource на PHP и получаете список, создание и редактирование. В уроке используется Filament 4 с Laravel 12.

Установка и первая панель

bash
composer require filament/filament:"^4.0"
php artisan filament:install --panels
php artisan make:filament-user
php artisan make:filament-resource Post --generate

filament:install --panels создаёт app/Providers/Filament/AdminPanelProvider.php и регистрирует его. make:filament-user создаёт учётную запись для входа на /admin.

Устройство панели Filament
Устройство панели Filament
php
<?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'
            );
    }
}