Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
Команда 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-функцій
35

Коментарі

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

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

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

CPX 2.0
Новини 01 серпня 2026

CPX: Інструмент для виконання Composer-пакетів без встановлення

CPX 2.0 - офіційний інструмент Laravel для запуску команд з будь-якого Composer-пакета без його встановлення в проєкт. Працює як npx для npm, усуває конфлікти залежностей і підтримує виконання PHP-файлів, gist-скриптів та REPL.

Human-in-the-Loop
Новини 31 липня 2026

Laravel AI SDK отримав функцію Human-in-the-Loop для підтвердження дій

На Laracon US 2026 команда Laravel представила API human-in-the-loop для Laravel AI SDK. Тепер агенти можуть зупинятися перед виконанням інструмента та чекати на підтвердження, відхилення або редагування аргументів людиною.

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

5Blue Software
6 дн. тому

Senior AI Full-Stack Engineer

Senior Full-Stack Engineer з фокусом на AI-асистентів для розробки. Розроблятимете backend-сервіси (PHP/Laravel, RabbitMQ) та frontend (Vue.js), проектуватимете API, працюватимете з асинхронною обробкою, базами даних (MongoDB, PostgreSQL) та Docker. Вимагається досвід використання AI-кодингових інструментів (Claude, Cursor, Copilot), сильні навички архітектури та здатність швидко вивчати нові технології.

5BLUE Software
6 дн. тому

Senior AI Full-Stack Engineer

Senior AI Full-Stack Engineer для розробки backend-сервісів та frontend-функцій у екосистемі взаємопов'язаних сервісів. Основний стек: PHP 8.4+, Laravel 12, Vue.js, RabbitMQ, MongoDB, PostgreSQL. Вимоги: доведений досвід з AI-асистентами (Claude Code, Cursor, GitHub Copilot), сильні основи архітектури та API-дизайну, досвід з Docker, Git, SQL/NoSQL. Потрібна здатність швидко вивчати нові технології та валідувати AI-код перед production.

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

Larastan

nunomaduro/larastan

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

6,467 v3.10.0 13 8

Laravel Enum

bensampo/laravel-enum

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

2,031 v6.14.0 13 19