Filament ломают не кнопки: 5 правил, чтобы админка не превратилась в хаос
Filament любят за скорость сборки, но на живом проекте он быстро показывает слабые места. Если оставить «как вышло», через пару спринтов админка начинает тормозить разработку: сложные поля размазываются по страницам, логика дублируется, а права доступа живут отдельно от UI.
• Выноси бизнес-логику из ресурсов в сервисы или actions. Resource должен описывать форму и таблицу, а не решать, как считается статус заказа.
• Не плодите кастомные поля без причины. Часто хватает стандартных компонентов, а переусложнение делает поддержку дороже.
• Для больших таблиц сразу планируй фильтры, сортировки и eager loading. Иначе N+1 всплывает в самом неудобном месте.
• Политики и видимость действий проверяй на уровне модели, а не только в интерфейсе. Скрытая кнопка — не защита.
• Повторяющиеся схемы выноси в переиспользуемые классы или макросы, иначе каждая новая сущность будет копией предыдущей.
Есть наблюдение которое стоит проверить: Filament лучше всего работает там, где админка — это не отдельный продукт, а тонкий слой над доменной моделью. Чем меньше «магии» в ресурсах, тем проще тестировать, переиспользовать и передавать проект другому инженеру.
Если админка уже начала разрастаться, первым делом режьте дублирование и отделяйте домен от интерфейса — это экономит недели поддержки.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Filament ломают не кнопки: 5 правил, чтобы админка не превратилась в хаос
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.