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

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

Коментарі

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

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

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

Fresh Package
Новини 19 вересня 2026

Fresh Package: новий скелет для розробки Laravel-пакетів з Testbench, CI та інтеграцією Boost

Fresh Package від Mazen Touati - це сучасний скелет для створення Laravel-пакетів, який включає тестове середовище, статичний аналіз, CI/CD, workbench-додаток та шаблони навичок для AI-агентів. Підтримує як backend-only, так і full-stack пакети.

5
Jev: модель, яка повертає рішення замість тексту - і вже є в Laravel AI SDK Рекомендовано
Новини 18 вересня 2026

Jev: модель, яка повертає рішення замість тексту - і вже є в Laravel AI SDK

TypeSafe AI випустила Jev - модель, яка не генерує текст, а повертає типізовані рішення з каліброваними ймовірностями за 70-500 мс. Через два дні підтримка приїхала в гілку 1.x пакета laravel/ai у вигляді API Classification з питаннями Boolean, Choice і Score.

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

Edvantis Нова
2 дні тому

Senior Full-Stack Software Engineer (PHP/Laravel, Vue.js)

Розробник повного стеку для хмарної платформи управління дослідженнями. Розроблення функцій на PHP (Laravel) та Vue.js, побудова REST API, оптимізація продуктивності, написання тестів. Вимоги: міцні знання PHP та Laravel, досвід з Vue.js і JavaScript, англійська Upper-Intermediate+.

N-iX Нова
2 дні тому

Senior/ Lead PHP Engineer (with AI Skills), Toronto time zone

Старший/Lead PHP розробник з глибокою експертизою Laravel для побудови та інтеграції систем штучного інтелекту. Спеціаліст матиме відповідати за складні backend-функції, менторство інших розробників, проектування та впровадження AI-driven automation агентів в продукт. Вимоги: 6+ років досвіду на PHP, 4+ років Laravel, практичний досвід роботи з LLM API, контейнеризацією (Docker) та хмарними платформами, мова English Upper Intermediate+.

itsl.world Нова
3 дні тому

Senior Backend PHP-розробник

Розробка та підтримка backend-частини веб-додатків на PHP 8+. Робота з високонавантаженими системами, базами даних (MySQL, PostgreSQL), системами черг (RabbitMQ, Gearman), інтеграціями з API. Вимоги: 6+ років комерційного досвіду PHP, знання принципів масштабованої архітектури, вміння писати чистий код та проводити тестування. Буде перевагою досвід Yii2.

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

Larastan

nunomaduro/larastan

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

6,511 v3.12.2 13 9

Laravel Enum

bensampo/laravel-enum

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

2,030 v6.14.1 13 26