Ещё пять лет назад типовая админка отнимала недели на CRUD-экраны. Filament 4 поверх Laravel 12 сокращает эту работу до конфигурации.
Anatomy ресурса#
Один класс Resource описывает форму, таблицу и — через Schemas — сложные составные поля вроде блочного редактора статей.
class PostResource extends Resource
{
protected static ?string $model = Post::class;
public static function form(Schema $schema): Schema
{
return $schema->components([
PostForm::make(),
]);
}
}- Модель и миграции — как в обычном Laravel-проекте.
- Policy определяет, кто видит ресурс и какие действия доступны.
- Schema/Table классы описывают форму и таблицу декларативно.
- Actions добавляют кастомную логику там, где конфигурации не хватает.
Авторизация — не декорация
Policy проверяется и в UI, и при прямом обращении к модели — скрыть кнопку недостаточно, если политика не защищает сам метод.
| Задача | Решение из коробки | Нужен кастом |
|---|---|---|
| Сортировка таблицы | да | нет |
| Блочный редактор контента | частично (Builder) | да, доменные блоки |
| 2FA | да (App Authentication) | нет |
Итог: Filament экономит время именно там, где раньше терялись недели — на однотипных CRUD-экранах. Домен-специфичную логику всё равно пишете вы.
Ключевые выводы
- Filament 4 Resource — это декларативное описание формы, таблицы и политики доступа в одном классе.
- Policy-классы Laravel и авторизация Filament работают вместе без дублирования правил.
- Кастомные Actions нужны реже, чем кажется — сначала стоит проверить встроенные.
- Тесты на уровне Resource дешевле, чем ручная проверка каждого релиза.



