Увійти Реєстрація
Вакансії
Вакансії Laravel Компанії Статистика
Підготовка
Як підготуватися < href="https://laravelukraine.com/interviews" wire:navigate.hover class="flex items-center gap-3 rounded-md px-3 py-2 text-base font-medium text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-900 dark:hover:text-white" >Співбесіди Тестування Документація
Блог
Всі статті Серії
Екосистема
Пакети Ресурси Проєкти Інструменти Події Відео
Інше
Про нас Реклама
Команда 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-функцій
37

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

Коментарі

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

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

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

Новини 14 листопада 2026

RFC пропонує хуки життєвого циклу запиту для воркер-режиму PHP

Кевін Дюнгла виніс на обговорення RFC «Request lifecycle hooks for SAPIs with a worker mode»: два нові хуки модулів request_begin і request_end та функції php_request_begin() і php_request_end(). Вони мають замінити крихкі скидання стану, через які FrankenPHP цього року виправляв витік session ID і помилки пам'яті. Ціль - PHP 8.7, голосування ще не призначене.

7
Новини 14 листопада 2026

Laravel Storage Dedupler: один файл на диску замість десятка копій

Пакет maxkhim/laravel-storage-dedupler зберігає кожен файл один раз: ключем стає SHA-1 хеш вмісту, а моделі через трейт Deduplable отримують посилання на спільний UniqueFile. У версії 1.0.6 з'явився DEDUPLER_REMOVE_ORPHAN_ON_DETACH, що вирішує долю файлу після останнього detach.

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

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

Senior / Lead PHP Engineer with AI skills (#5887)

Розробка та підтримка backend-сервісів і API на PHP та Laravel для нового великого релізу європейського онлайн-маркетплейсу автомобілів. Завдання включають інтеграцію агентних AI-потоків (LLM-агенти, tool-calling), менторство інженерів і відповідальність за фічі від дизайну до моніторингу. Вимоги: 6+ років PHP, 4+ роки з Laravel, практичний досвід GenAI, сильні знання MySQL/PostgreSQL, Docker та хмарних платформ, англійська Upper-Intermediate.

Real Estate Bees
9 днів тому

Backend Engineer (PHP/Laravel)

Розробник бекенду для revenue-критичних систем: проєктування й підтримка REST API для кількох споживачів, реалізація бізнес-логіки, інтеграції з платіжними та партнерськими сервісами, фонові задачі на Redis-чергах і оптимізація великих таблиць PostgreSQL. Стек: API-only Laravel 12 / PHP 8.2, PostgreSQL, поступова міграція до DDD. Вимоги: 3+ роки PHP і production Laravel, досвід роботи з легасі-кодом, тестування, Docker, активне використання AI-інструментів для розробки, англійська intermediate.

King Group
10 днів тому

Middle PHP developer

Middle PHP розробник для високонавантаженої веб-платформи Social Casino/Online Casino: розвиток продукту, перехід монолітного проєкту на мікросервіси (Symfony), оптимізація баз даних, написання unit та functional тестів. Стек: PHP 7.4, Symfony 4, Yii, PostgreSQL 14, Redis, RabbitMQ, NGINX. Вимоги: 3-4+ роки продуктового досвіду з PHP, Yii, Symfony, PostgreSQL, розуміння REST API, Git, ООП та SOLID. Досвід з брокерами повідомлень і DDD буде плюсом.

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

Larastan

nunomaduro/larastan

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

6,553 v3.15.0 13 9

Laravel Enum

bensampo/laravel-enum

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

2,028 v6.14.1 13 27