Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Команда artisan dev у Laravel 13.16.0
Новини 18 червня 2026

Команда artisan dev у Laravel 13.16.0

Команда Laravel випустила версію 13.16.0 із новою командою php artisan dev для запуску процесів розробки, хелпером для роботи з enum у запитах, методом withCookies() для всіх типів відповідей та драйвером режиму обслуговування на основі масивів для паралельного тестування.

Команда artisan dev

Головною новинкою релізу стала команда php artisan dev, яка одночасно запускає процеси розробки: сервер, обробник черг, відстеження логів та Vite. За замовчуванням її поведінка відповідає існуючому скрипту composer dev, але конфігурація переміщується з composer.json безпосередньо в код додатка.

Команди реєструються через клас DevCommands, зазвичай із сервіс-провайдера. Можна додавати як Artisan-команди, так і довільні shell-команди:

use Illuminate\Foundation\Console\DevCommands;
DevCommands::artisan('reverb:start');
DevCommands::register('stripe listen --forward-to ' . config('app.url'));

Необов'язковий другий аргумент задає ім'я процесу; якщо його не вказано, використовується перший сегмент до першого пробілу. Також можна призначити колір для кожного процесу:

DevCommands::artisan('reverb:start', 'reverb')->orange();
DevCommands::register('stripe listen --forward-to ' . config('app.url'))->green();

DevCommands запобігає автоматичній реєстрації команд пакетами з директорії vendor. Пакет все ще може надавати хелпер для реєстрації команд з вашого власного коду. PR також додає хелпер NodePackageManager, який визначає менеджер пакетів за наявними lockfile-файлами (npm, yarn, pnpm або bun), щоб загальна команда виконувалась правильним інструментом.

Примітка: рекомендується оновитися до v13.16.1, яка містить виправлення для реєстрації команди artisan dev.

Метод whenFilledEnum() для запитів

Трейт InteractsWithData отримав метод whenFilledEnum(), який перетворює значення запиту на backed enum перед викликом callback-функції. Раніше це вимагало виклику whenFilled(), потім tryFrom() та ручної перевірки на null:

$request->whenFilledEnum('status', Status::class, function (Status $status) use ($query): void {
    $query->where('status', $status);
});

Callback виконується лише коли ключ заповнений, вказаний клас є backed enum, а значення успішно перетворюється на валідний case через tryFrom(). Невалідні значення пропускаються без викидання помилок. Опціональний другий callback виконується, коли основний не спрацював:

$request->whenFilledEnum('status', Status::class, function (Status $status) use ($query): void {
    $query->where('status', $status);
}, function () use ($query): void {
    $query->where('status', Status::Active);
});

Метод withCookies() для всіх відповідей

Метод withCookies() перемістився з RedirectResponse до ResponseTrait, тому тепер можна додавати кілька cookies до будь-якого типу відповіді, включно з JsonResponse та стандартними відповідями, одним викликом замість ланцюжка withCookie():

return response()->json($data)->withCookies([$cookieA, $cookieB, $cookieC]);

Зміна є адитивною та не порушує зворотну сумісність.

Драйвер array для режиму обслуговування

Новий драйвер режиму обслуговування на основі масивів доповнює існуючі file та cache драйвери. Він призначений для паралельного тестування, де файловий драйвер та мокінг фасаду Cache можуть заважати тестам, які викликають php artisan up та down.

Enum у методі broadcastAs()

Події broadcast тепер можуть повертати enum з методу broadcastAs() для імені події. У поєднанні з типізованим генератором SDK це забезпечує консистентність назв подій як на стороні відправника, так і отримувача, подібно до того, як атрибут #[Queue()] вже підтримує enum.

JSON Schema anyOf та безпечна десеріалізація

Компонент JsonSchema отримав підтримку anyOf, а десеріалізатор тепер захищений від необмеженого розширення $ref для запобігання нескінченній рекурсії.

Інші виправлення та покращення

Версія 13.16.0 також включає:

  • Виправлено екранування shell-команд при запуску запланованих команд від імені іншого користувача
  • Дозволено RouteParameter використовувати ім'я параметра з атрибута
  • Виправлено Batchable::batching для завершених батчів
  • Додано підтримку атрибутів черг у трейтах
  • Посилено серіалізацію запитів HTTP-клієнта та фейкових відповідей
  • Покращено типи повернення для скоупів моделей, callback-функцій з'єднань та хелперів передачі callback-функцій
36

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

15
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

11

Вакансії за темою

N-iX
13 днів тому

Senior / Lead PHP Engineer with AI skills

Senior/Lead PHP Engineer з досвідом у Laravel та GenAI. Займатиметесь розробкою backend-сервісів і API, інтеграцією агентних AI-систем (LLM, tool-calling, autonomous workflows), оптимізацією продуктивності й надійності. Потребує 6+ років досвіду PHP, 4+ років Laravel, hands-on роботи з LLM API та агентами. Основний стек: PHP, Laravel, MySQL/PostgreSQL, Docker, AWS/GCP. Керівництво та ментор інших інженерів.

Z Global E-Commerce
14 днів тому

Full-Stack Developer (PHP/Laravel + Vue 3)

Full-Stack розробник з глибоким досвідом бекенду. Розробляєте масштабовані веб-платформи з комплексною бізнес-логікою, працюєте з PHP/Laravel, SQL, Vue 3/TypeScript. Основні вимоги: досвід з Laravel, Eloquent, проектування API, оптимізація баз даних (включно з мільйонами записів), фронтенд на Vue 3 з Composition API, TypeScript. Цінується розуміння архітектури, продуктивності й довгострокової підтримуваності коду.

Wooden Sword
15 днів тому

Senior PHP Developer (Game Backend)

Розробник backend для мобільної RPG з високим навантаженням. Основний стек: PHP Laravel API та TypeScript Nakama Game Server. Відповідальність за повний цикл розробки функцій — від логіки до тестування, code review, оптимізації та документації. Вимоги: 5+ років backend-досвіду, бездоганне знання Laravel/PHP, сильні навички TypeScript, PostgreSQL та асинхронного програмування.

Пакети за темою

Larastan

nunomaduro/larastan

Larastan — це розширення phpstan/phpstan для Laravel, яке дозволяє виявляти помилки у коді без його запуску.

6,537 v3.13.0 13 9

Laravel Enum

bensampo/laravel-enum

Простий, розширюваний і потужний реалізація перерахування для Laravel.

2,029 v6.14.1 13 27