Kit — Opinionated стартовий набір для API на Laravel

Перекладено ШІ 1 Laravel News 02 червня, 2026

Kit — стартовий набір для Laravel, орієнтований на токенну автентифікацію, документацію та безпеку за замовчуванням. Хочете швидко збудувати версіонований JSON‑API з готовими контролерами, валідаціями та механізмами для дедаліті — читайте статтю.

Kit від Steve McDougall — стартовий набір для Laravel API, побудований навколо токен‑автентифікації, документації API та налаштувань з пріоритетом безпеки. Він для розробників, які хочуть готову структуру для створення версіонованих JSON API без налаштування всього з нуля.

# Початок роботи

Клонуйте репозиторій, встановіть залежності та запустіть скрипт налаштування:

composer install
composer run setup
php artisan serve

Команда composer run setup копіює .env.example у .env, генерує app key і виконує міграції у локальній SQLite базі даних.

# Архітектура API

Kit дотримується кількох чітких архітектурних рішень:

  • Жодного глобального /api префікса — маршрути версіонуються напряму, наприклад /v1/auth/login
  • Тільки invokable‑контролери — кожен контролер має один метод __invoke
  • FormRequest для валідації — дані запитів перевіряються в окремих класах FormRequest, з DTO‑подібними класами payload у app/Http/Payloads/V1
  • Формат ресурсів JSON:API — відповіді мають уніфіковану структуру для даних сутностей

# Аутентифікація

Дев’ять маршрутів покривають повний цикл аутентифікації:

  • Реєстрація та вхід (обидва повертають токени через Laravel Sanctum)
  • /v1/auth/me (потребує Bearer‑токен)
  • Підтвердження email через підписані URL
  • Скидання пароля з механізмом проти вгадування (відповідь однакова незалежно від того, чи існує email)

# Налаштування безпеки за замовчуванням

У Kit за замовчуванням є кілька налаштувань безпеки:

  • ULID як первинні ключі записів користувачів
  • Попередньо встановлені ліміти запитів для auth‑ендпоінтів, які можна налаштувати в AppServiceProvider
  • Примусова вимога заголовка Content-Type: application/json для write‑запитів
  • Посилені заголовки відповіді, зокрема X-Content-Type-Options: nosniff, X-Frame-Options: DENY і Referrer-Policy: no-referrer
  • Відстеження Request ID
  • Аудит‑логування для чутливих операцій
  • та інше

# Sunset Middleware

У Kit також є middleware Sunset для поступового зняття ендпоінтів з підтримки. Його додають безпосередньо до маршруту з трьома параметрами: дата sunset, URL‑наступник і булеве значення для примусового застосування:

Route::middleware('sunset:2027-01-01,https://api.acme.com/v2/auth/login,true')
    ->post('/v1/auth/login', LoginController::class);

Поки ендпоінт активний, middleware додає до кожної відповіді заголовки Deprecation, Sunset і Link (з посиланням на наступну версію), щоб клієнти могли виявити депрекацію й підготуватися. Після настання дати sunset і за увімкненого примусового режиму ендпоінт повертає 410 Gone.

# Документація

Документація API генерується за допомогою Scribe. Анотації використовують атрибути замість docblock, а налаштування генерує OpenAPI‑специфікацію разом із документацією.

# Локалізація

Kit поважає заголовок Accept-Language і відповідає із заголовком Content-Language. Підтримувані локалі за замовчуванням — en та es, файли перекладів знаходяться у lang/en/api.php та lang/es/api.php.

# Інструменти

Проєкт використовує Pest для тестів, PHPStan для статичного аналізу, Pint для форматування коду і Rector для автоматичного рефакторингу. Workflows GitHub Actions запускають CI при кожному пуші, щодня оновлюють залежності та запускають сканування безпеки через composer audit і Gitleaks.

# Вимоги

  • PHP 8.5+
  • Laravel 12
  • SQLite (для локальної розробки; можна налаштувати іншу базу даних)

Перейдіть на juststeveking/kit на GitHub, щоб переглянути код і дізнатися більше.

Популярні

Інше, що варто прочитати

74 Оновлено 01 червня, 2026

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

14 Оновлено 01 червня, 2026

Claude Agent тепер інтегрований в AI Assistant для PhpStorm

Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання

17 Оновлено 01 червня, 2026

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!