Laravel & PHP Deep — фреймворки и пакеты

Livewire хорош для CRUD, пока компонент не превращается в скрытый контроллер

Livewire хорош для CRUD, пока компонент не превращается в скрытый контроллер

Livewire чаще ломают архитектурой: в компонент складывают форму, таблицу, фильтры, модалки, права и бизнес-правила. В итоге любой клик гоняет лишнее состояние, а тесты читаются как лог сервера.

Правила для поддержки:
— компонент хранит состояние экрана, не доменную логику;
— action/service-классы выполняют сложные операции;
— в public-свойствах только то, что нужно браузеру.

Проверка: если метод нельзя назвать UI-глаголом — save, openModal, applyFilters — он живёт не там. recalculatePayout лучше вынести из Livewire.

Для таблиц держите query как конструктор, а не как массив данных в state. Фильтры сериализуются, выборка строится заново, тяжёлые вычисления кэшируются ниже компонента.

Livewire не заменяет архитектуру Laravel. Тонкий компонент между Blade и приложением живёт долго; толстый быстро становится вторым контроллером с магией.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.