# Laravel 12 + Filament 4: как мы собираем админ-панели без лишнего кода

Filament 4 закрывает 80% типовых экранов CRUD из коробки. Показываем, где заканчивается конфигурация и начинается настоящая разработка.

*Рубрика: Разработка · Опубликовано: 28 июля 2026 г. · Автор: Александр Покидов*

Канонический URL: https://pokidov.dev/blog/laravel-12-filament-4-admin-panel

---

Ещё пять лет назад типовая админка отнимала недели на CRUD-экраны. Filament 4 поверх Laravel 12 сокращает эту работу до конфигурации.

## Anatomy ресурса

Один класс Resource описывает форму, таблицу и — через Schemas — сложные составные поля вроде блочного редактора статей.

app/Filament/Resources/Posts/PostResource.php
```php
class PostResource extends Resource
{
    protected static ?string $model = Post::class;

    public static function form(Schema $schema): Schema
    {
        return $schema->components([
            PostForm::make(),
        ]);
    }
}
```

1. Модель и миграции — как в обычном Laravel-проекте.
2. Policy определяет, кто видит ресурс и какие действия доступны.
3. Schema/Table классы описывают форму и таблицу декларативно.
4. Actions добавляют кастомную логику там, где конфигурации не хватает.

> **Авторизация — не декорация**
Policy проверяется и в UI, и при прямом обращении к модели — скрыть кнопку недостаточно, если политика не защищает сам метод.

| Задача | Решение из коробки | Нужен кастом |
| --- | --- | --- |
| Сортировка таблицы | да | нет |
| Блочный редактор контента | частично (Builder) | да, доменные блоки |
| 2FA | да (App Authentication) | нет |

---

Итог: Filament экономит время именно там, где раньше терялись недели — на однотипных CRUD-экранах. Домен-специфичную логику всё равно пишете вы.

## Ключевые выводы

- Filament 4 Resource — это декларативное описание формы, таблицы и политики доступа в одном классе.
- Policy-классы Laravel и авторизация Filament работают вместе без дублирования правил.
- Кастомные Actions нужны реже, чем кажется — сначала стоит проверить встроенные.
- Тесты на уровне Resource дешевле, чем ручная проверка каждого релиза.
