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

Spatie-пакеты тащат проект, пока вы не путаете удобство с архитектурой

Spatie-пакеты тащат проект, пока вы не путаете удобство с архитектурой

У Spatie сильная сторона не в «магии», а в том, что пакеты обычно узкие, предсказуемые и хорошо ложатся в Laravel-стек. Но именно поэтому их легко начать ставить на всё подряд: медиа, роли, настройки, аудиты, очереди — и внезапно бизнес-логика расползается по конфигам.

Перед подключением проверьте три вещи:
• пакет решает инфраструктурную задачу, а не доменную;
• у него есть понятный контракт расширения, а не копипаста из хелперов;
• вы понимаете, где будет жить тест: в feature, unit или integration.

Если пакет трогает модель, кэш или события, сразу смотрите на инверсию зависимостей. Самая частая ошибка — использовать фасад как единственную точку входа. Через месяц это удобно, через год это уже трудно мокать, трудно заменить и трудно объяснить новому разработчику. Для обвязки лучше выделять собственный сервис-слой и держать Spatie внутри него.

Ещё один полезный фильтр: пакет должен быть выключаемым без переписывания половины приложения. Если при удалении библиотеки у вас ломается форма, очередь и экспорт — это не помощник, а новая ось системы.

Хороший Spatie-пакет экономит недели, плохой — маскирует техдолг под аккуратный API.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

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

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

start

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

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

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