Spatie-пакеты тащат проект, пока вы не путаете удобство с архитектурой
У Spatie сильная сторона не в «магии», а в том, что пакеты обычно узкие, предсказуемые и хорошо ложатся в Laravel-стек. Но именно поэтому их легко начать ставить на всё подряд: медиа, роли, настройки, аудиты, очереди — и внезапно бизнес-логика расползается по конфигам.
Перед подключением проверьте три вещи:
• пакет решает инфраструктурную задачу, а не доменную;
• у него есть понятный контракт расширения, а не копипаста из хелперов;
• вы понимаете, где будет жить тест: в feature, unit или integration.
Если пакет трогает модель, кэш или события, сразу смотрите на инверсию зависимостей. Самая частая ошибка — использовать фасад как единственную точку входа. Через месяц это удобно, через год это уже трудно мокать, трудно заменить и трудно объяснить новому разработчику. Для обвязки лучше выделять собственный сервис-слой и держать Spatie внутри него.
Ещё один полезный фильтр: пакет должен быть выключаемым без переписывания половины приложения. Если при удалении библиотеки у вас ломается форма, очередь и экспорт — это не помощник, а новая ось системы.
Хороший Spatie-пакет экономит недели, плохой — маскирует техдолг под аккуратный API.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Spatie-пакеты тащат проект, пока вы не путаете удобство с архитектурой
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.