Laravel 12 у 2026 році: нові можливості, Starter Kits та питання для співбесіди

Повний огляд Laravel 12: перероблені Starter Kits на основі React 19, Vue 3, Svelte 5 та Livewire 4, інтеграція WorkOS AuthKit, оновлення залежностей до Carbon 3 та PHP 8.2+, покроковий посібник з оновлення з Laravel 11 та актуальні питання для технічних співбесід у 2026 році.

Laravel 12 нові можливості та Starter Kits у 2026 році

Ключові нововведення Laravel 12 зосереджені навколо повної переробки стартових наборів фреймворку при свідомо мінімальній кількості зворотно несумісних змін. Дванадцята мажорна версія, опублікована 24 лютого 2025 року, замінює Breeze та Jetstream сучасним скафолдингом, побудованим на React 19, Vue 3, Svelte 5 та Livewire 4. Філософія релізу робить акцент на стабільності: абсолютна більшість застосунків на Laravel 11 оновлюється без жодного рядка змін у коді.

Жодних зворотно несумісних змін

Laravel 12 є підтримувальним релізом. Оновлення з Laravel 11 у переважній більшості проєктів не потребує модифікації коду застосунку. Команда розробників зосередила зусилля на впровадженні покращень якості життя протягом усього циклу 11.x, замість накопичення критичних змін для мажорного випуску.

Перероблені Starter Kits на зміну Breeze та Jetstream

Найпомітнішою зміною в Laravel 12 стала заміна Breeze та Jetstream чотирма спеціалізованими стартовими наборами. На відміну від попередніх пакетів, які інтегрувались у вже наявний проєкт, нові кіти розгортають повноцінний застосунок з нуля, де весь згенерований код одразу доступний для перегляду та редагування.

Кожен стартовий набір включає готові модулі автентифікації, реєстрації, відновлення пароля, підтвердження електронної пошти та управління профілем користувача.

| Starter Kit | Стек | UI-бібліотека | |------------|------|---------------| | React | Inertia 2, React 19, TypeScript | shadcn/ui | | Vue | Inertia 2, Vue 3, TypeScript | shadcn-vue | | Svelte | Inertia 2, Svelte 5, TypeScript | shadcn-svelte | | Livewire | Livewire 4, Laravel Volt | Flux UI |

Усі чотири набори постачаються з Tailwind CSS 4, підтримкою тем Dark/Light/System та кількома варіантами макетів для сторінок автентифікації (simple, card, split).

bash
# Install a new Laravel project with the React starter kit
laravel new my-app

# Or specify a community starter kit
laravel new my-app --using=vendor/custom-starter-kit

Laravel 12 також відкриває можливість створювати та публікувати власні стартові набори через прапорець --using. Це означає, що спільнота може розробляти кіти на базі Blade, API-only архітектур або доменно-орієнтованого скафолдингу.

Інтеграція WorkOS AuthKit для корпоративної автентифікації

Кожен стартовий набір пропонує варіант із вбудованою інтеграцією WorkOS AuthKit, яка додає корпоративні механізми автентифікації без потреби у власній реалізації:

  • Соціальна автентифікація (Google, GitHub, Microsoft та інші провайдери)
  • Passkeys для безпарольного входу через біометричну верифікацію
  • Single Sign-On (SSO) із підтримкою SAML- та OIDC-провайдерів

Безкоштовний тарифний план WorkOS обслуговує до одного мільйона активних користувачів на місяць, що робить рішення придатним для проєктів будь-якого масштабу.

config/services.phpphp
'workos' => [
    'client_id' => env('WORKOS_CLIENT_ID'),
    'api_key' => env('WORKOS_API_KEY'),
    'redirect_url' => env('WORKOS_REDIRECT_URL'),
],

Така інтеграція зводить нанівець потребу у пакетах на кшталт Socialite для типових сценаріїв соціального входу, хоча Socialite залишається повністю доступним для нестандартних OAuth-реалізацій.

Оновлення залежностей та вимоги до PHP

Laravel 12 висуває вимогу до PHP версій 8.2 -- 8.5 та обов'язково використовує Carbon 3 для всіх операцій з датами. Підтримку Carbon 2 було остаточно припинено, що забезпечує суворішу типізацію та гарантії незмінності об'єктів дати й часу.

php
// Carbon 3 enforces stricter typing
use Carbon\Carbon;

$now = Carbon::now(); // Returns CarbonImmutable by default in strict mode
$future = $now->addDays(30);

// $now remains unchanged — immutability enforced

Серед інших оновлень залежностей варто відзначити перехід на компоненти Symfony 7, що синхронізує Laravel з найновішими стабільними релізами PHP-екосистеми.

Терміни підтримки

Laravel 12 отримує виправлення помилок до серпня 2026 року та патчі безпеки до лютого 2027 року. Laravel 13, випущений 17 березня 2026 року, наразі є останньою мажорною версією, проте оновлення з 12 до 13 не містить жодних зворотно несумісних змін.

Покращення якості у патч-релізах

Поки початковий реліз 12.0 зосереджувався на стартових наборах, наступні патч-версії додали низку корисних інструментів для щоденної роботи розробника.

Допоміжні функції для масивів та колекцій

php
use Illuminate\Support\Arr;

// Filter by values instead of keys
$filtered = Arr::onlyValues(['admin', 'editor', 'viewer'], ['admin', 'editor']);
$excluded = Arr::exceptValues(['admin', 'editor', 'viewer'], ['viewer']);

$users = collect([/* ... */]);
if ($users->containsManyItems()) {
    // Handle bulk operation
}

Методи Arr::onlyValues() та Arr::exceptValues() фільтрують масив за значеннями, а не за ключами, що спрощує роботу зі списками ролей, тегів чи інших перерахувальних типів. Метод containsManyItems() для колекцій перевіряє наявність більш ніж одного елемента, що корисно для обробки масових операцій.

Покращення Gate та авторизації

php
use Illuminate\Support\Facades\Gate;

enum Permission {
    case ViewDashboard;
    case ManageUsers;
}

if (Gate::has(Permission::ViewDashboard)) {
    // Ability is defined
}

Підтримка нативних PHP Enum у Gate::has() робить перевірку авторизації типобезпечною та усуває помилки, пов'язані з використанням рядкових ідентифікаторів дозволів.

Готовий до співбесід з Laravel?

Практикуйся з нашими інтерактивними симуляторами, flashcards та технічними тестами.

Покроковий посібник з оновлення: Laravel 11 до Laravel 12

Шлях міграції з Laravel 11 до 12 свідомо спрощено до мінімуму кроків. Для переважної більшості застосунків достатньо оновити версії залежностей у конфігурації Composer.

Крок 1 -- внести зміни до composer.json:

json
{
    "require": {
        "php": "^8.2",
        "laravel/framework": "^12.0",
        "nesbot/carbon": "^3.0"
    }
}

Крок 2 -- виконати команду оновлення:

bash
composer update

Крок 3 -- перевірити п'ять областей, які найчастіше потребують уваги:

  1. Concurrency::run з асоціативними масивами тепер зберігає ключі у результатах
  2. Локальний диск за замовчуванням використовує storage/app/private замість storage/app
  3. Виклики Carbon 2 необхідно перевести на API Carbon 3
  4. Методи Schema тепер повертають дані з усіх схем бази даних
  5. Іменовані аргументи у викликах методів Laravel можуть порушитись через перейменування параметрів

Для застосунків, що використовують Eloquent, Middleware або системи черг, процес оновлення зазвичай займає лише кілька хвилин.

Актуальні питання для співбесіди з Laravel 12 у 2026 році

Технічні інтерв'ю на позиції Laravel-розробника у 2026 році охоплюють як фундаментальні концепції фреймворку, так і обізнаність у найсвіжіших змінах. Нижче наведено категоризовані питання, що відображають реальну практику рекрутингових процесів.

Питання рівня Junior

Чим стартові набори Laravel 12 відрізняються від Breeze?

Breeze та Jetstream встановлювались як пакети у вже існуючий проєкт, приносячи із собою приховані залежності. Стартові набори Laravel 12 генерують новий проєкт від початку, де весь код автентифікації розміщується безпосередньо у структурі застосунку без прихованої пакетної логіки. Кіти базуються на сучасних стеках (React 19, Vue 3, Svelte 5, Livewire 4) з TypeScript та UI-компонентами shadcn за замовчуванням.

Пояснити механізм Service Container та Dependency Injection у Laravel.

Service Container -- це інструмент управління класовими залежностями. Коли конструктор класу декларує типізовані параметри, контейнер автоматично знаходить та впроваджує відповідні екземпляри. У Laravel 12 контейнер почав враховувати значення за замовчуванням для параметрів конструктора під час автоматичної резолюції залежностей.

php
class OrderService
{
    public function __construct(
        private PaymentGateway $gateway,
        private int $retryLimit = 3
    ) {}
}

Питання рівня Mid

Як функціонує Middleware у Laravel і що змінилось в останніх версіях?

Middleware перехоплює HTTP-запити до їх передачі контролеру. У Laravel 12 виправлено критичну помилку нескінченної рекурсії, коли група middleware посилалась сама на себе, спричиняючи переповнення стеку. Middleware обслуговує автентифікацію, CORS, обмеження частоти запитів (rate limiting) та журналювання. Створення власної middleware здійснюється командою php artisan make:middleware.

Описати архітектуру системи черг у Laravel.

Система черг переносить ресурсоємні операції (відправлення пошти, генерація звітів, обробка зображень) на фонові процеси. Завдання надсилаються до драйверів, зокрема Redis, Amazon SQS або бази даних. Laravel 12 повернув підтримку хмарних черг з гілки 13.x, що розширює можливості безсерверного розгортання.

php
use App\Jobs\ProcessInvoice;

ProcessInvoice::dispatch($order)
    ->onQueue('invoices')
    ->delay(now()->addMinutes(5));

Питання рівня Senior

Порівняти Repository Pattern із прямим використанням Eloquent.

Безпосередній виклик Eloquent у контролерах створює жорстке зчеплення між HTTP-шаром та базою даних. Repository Pattern вводить абстрактний шар: інтерфейс репозиторію визначає методи доступу до даних, а конкретна реалізація працює через Eloquent. Такий підхід покращує тестовність (репозиторії легко мокуються), спрощує заміну джерел даних та дотримується принципу єдиної відповідальності. Компроміс полягає у збільшенні складності. Невеликим застосункам рідко потрібні репозиторії, тоді як великі системи зі складними запитами та суворими вимогами до тестування отримують значну архітектурну ясність.

Як підготувати застосунок на Laravel 12 до переходу на Laravel 13?

Laravel 13 випущено без зворотно несумісних змін відносно дванадцятої версії. Основні кроки підготовки: забезпечити сумісність із PHP 8.3+ (тринадцята версія припиняє підтримку PHP 8.2), мігрувати застарілі патерни Carbon 2, а також протестувати власні Service Provider з новою системою конфігурації. Командам, зацікавленим у Laravel AI SDK, рекомендовано заздалегідь оцінити потреби у векторному пошуку та RAG, оскільки нативна підтримка pgvector працює виключно з PostgreSQL.

Підготовка до співбесіди

У 2026 році інтерв'юери дедалі частіше запитують про шлях оновлення між версіями Laravel. Демонстрація розуміння ланцюжка міграції з 11 до 12 та з 12 до 13, а також філософії мінімальних критичних змін, свідчить про практичний досвід, а не лише теоретичну підготовку.

Порівняльна таблиця Laravel 12 та Laravel 13

| Характеристика | Laravel 12 | Laravel 13 | |---------------|-----------|------------| | Вимоги до PHP | 8.2 -- 8.5 | 8.3 -- 8.5 | | Starter Kits | React/Vue/Svelte/Livewire | Ті самі + Team Multi-Tenancy | | AI SDK | Бета-версія | Стабільна | | Векторний пошук | Недоступний | Нативна підтримка pgvector | | Passkeys | Лише через WorkOS | Нативно у Fortify | | Критичні зміни з 11 | Мінімальні | Жодних з 12 | | Виправлення помилок до | Серпень 2026 | Q3 2027 |

Для команд, яким не потрібні можливості штучного інтелекту чи нативні Passkeys, Laravel 12 залишається повноцінно підтримуваним до серпня 2026 року. Перехід на версію 13 доцільний після підтвердження сумісності PHP 8.3 для всього стеку залежностей проєкту.

Висновок

  • Laravel 12 замінює Breeze та Jetstream чотирма сучасними стартовими наборами на основі React 19, Vue 3, Svelte 5 та Livewire 4, де весь код знаходиться безпосередньо у застосунку
  • Інтеграція WorkOS AuthKit забезпечує соціальну автентифікацію, Passkeys та SSO без потреби у власній реалізації -- безкоштовно до одного мільйона користувачів на місяць
  • Оновлення з Laravel 11 для більшості проєктів не потребує змін у коді -- Carbon 3, Symfony 7 та PHP 8.2+ є ключовими змінами у залежностях
  • Патч-релізи додали Arr::onlyValues(), Arr::exceptValues(), containsManyItems() та підтримку PHP Enum у Gate
  • Підготовка до співбесіди у 2026 році має охоплювати відмінності стартових наборів, зміни у Service Container та шлях оновлення з Laravel 12 до 13
  • Laravel 13 (березень 2026) пропонує нативний AI SDK, векторний пошук та Passkeys, проте Laravel 12 залишається під захистом патчів безпеки до лютого 2027 року

Починай практикувати!

Перевір свої знання з нашими симуляторами співбесід та технічними тестами.

Теги

#laravel
#php
#starter-kits
#interview

Поділитися

Пов'язані статті