Что это такое
Filament — фреймворк интерфейса для Laravel. Он помогает быстро создавать приложения и административные панели на прочной Laravel-основе.
Проект строится вокруг Livewire, Tailwind CSS и Alpine.js. Для Laravel-команды это означает, что большая часть интерфейсной логики остается рядом с серверной моделью приложения.
Что внутри
Filament включает таблицы с фильтрами и массовыми действиями, реактивные формы, инфолисты для просмотра записей, уведомления, виджеты панели и action modals.
Компоненты рассчитаны на рост продукта. Начать можно с простой CRUD-панели, а затем добавлять сложные формы, кастомные действия и метрики без полной переписи интерфейса.
Как используют
Filament часто берут для внутренних кабинетов, админок, CRM-подобных систем, CMS и панелей управления продуктом. Он особенно полезен, когда данные уже лежат в Eloquent-моделях.
Разработчик описывает ресурс, поля формы, колонки таблицы и действия. После этого Filament берет на себя большую часть повторяющейся разметки и поведения.
Пример
Пример показывает форму PHP-ресурса: поля описываются декларативно, а панель получает рабочий интерфейс вокруг модели.
Поля формы ресурса
Фрагмент показывает декларативное описание полей внутри Filament Resource.
public static function form(Form $form): Form
{
return $form->schema([
TextInput::make("title")->required(),
MarkdownEditor::make("body")->columnSpanFull(),
]);
}
Сильные стороны и ограничения
Сильная сторона Filament — скорость выпуска прикладных интерфейсов. Он закрывает много скучной, но важной работы вокруг таблиц и форм.
Ограничение — привязка к Laravel-экосистеме. Если продукт не использует Laravel или требует полностью индивидуальный интерфейс, Filament может быть слишком специализированным.
Контекст проекта
Filament ведется в репозитории filamentphp/filament; публичная история проекта начинается 2020-03-19. Основной язык, который показывает GitHub, — PHP, лицензия — MIT. Есть отдельный сайт проекта: https://filamentphp.com.
Для страницы каталога это важно как практический контекст: читатель видит не абстрактное название, а реальный проект с владельцем, лицензией, технической базой и открытой историей изменений.