Скачать CV

Фреймворк

LaraBoom

Тонкий слой над Laravel. Одна сущность живёт в одном Resource. Схема, JSON CRUD и права берутся из этого описания.

LaraBoom это тонкий высокоуровневый слой над Laravel. Eloquent, очереди, Blade и Sanctum остаются. Вы перестаёте клонировать обычное дерево папок под каждое существительное в приложении.

Какую задачу это закрывает

Laravel сильный runtime. Боль в том, как одна бизнес-сущность размазывается по многим файлам. Для Product часто нужны модель, миграция, контроллер, два FormRequest, policy, API resource и строка в маршрутах. Переименовал колонку и ищешь её везде.

LaraBoom сокращает файлы, которые вы пишете. Сущность описывается один раз. Пакет превращает это в sync таблицы, CRUD на /api/{resource}, фильтры списка и gates.

Обычный Laravel разносит одно существительное по многим деревьям. LaraBoom держит его в одном Resource.
Обычный Laravel разносит одно существительное по многим деревьям. LaraBoom держит его в одном Resource.

Resource и Path

Resource владеет данными и JSON API. Поля задают колонки и валидацию. Атрибуты задают migrate, allow, scopes, jobs и mail.

Path владеет страницами. Методы с Get и Post возвращают views, редиректы и формы. В host нет routes/web.php и нет дерева app/Http.

JSON живёт под /api. Path внедряет Resource и вызывает query(), когда странице нужны строки.

Resource владеет таблицей и JSON API. Path владеет страницами. Host App связывает остальное.
Resource владеет таблицей и JSON API. Path владеет страницами. Host App связывает остальное.

Почему форма такая

  • Схема живёт в коде. Поля плюс migrate, затем php boom sync.
  • Доступ сидит на классе, который уже владеет действием, а не в параллельном дереве Policy.
  • Бизнес-код лежит рядом с сущностью. Когда метод растёт, он уходит в Resources/X/Service.php.
  • Ассистент для фичи читает один-два файла, а не шесть-десять.

Этот сайт работает на LaraBoom. Host следует тем же правилам: нет host routes/, нет app/Http, JSON под /api.

Лицензия MIT. PHP 8.3 и Laravel 13. Начните с репозитория на GitHub.

Назад в песочницу