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

Laravel 13.32: драйвер Mercure Broadcasting, методи copyToDisk/moveToDisk та підтримка Enum у чергах

Команда Laravel випустила версію 13.32.0, яка приносить новий драйвер broadcasting для Mercure, зручні методи для роботи з файловою системою, підтримку enum у чергах та численні виправлення помилок.

Новий драйвер Mercure Broadcasting

Kévin Dunglas додав драйвер broadcasting для Mercure - протоколу реального часу, який працює через SSE (Server-Sent Events) замість WebSockets. Це відкриває нові можливості для розробників, які шукають альтернативу традиційним WebSocket-з'єднанням.

Конфігурація драйвера виглядає так:

// config/broadcasting.php
'mercure' => [
    'driver' => 'mercure',
    'url' => env('MERCURE_URL'),
    'public_url' => env('MERCURE_PUBLIC_URL'),
    'secret' => env('MERCURE_JWT_SECRET'),
    'encryption_key' => env('MERCURE_ENCRYPTION_KEY'),
],

При роботі з FrankenPHP вбудований хаб не потребує параметрів url або secret. Драйвер підтримує presence-канали та end-to-end зашифровані private-encrypted-* канали. Для клієнтської частини доступний патч для Laravel Echo.

Драйвер також інтегровано у команду встановлення broadcasting, що спрощує початкове налаштування.

Методи copyToDisk() та moveToDisk() для файлової системи

Jack Bayliss додав до FilesystemAdapter методи copyToDisk() та moveToDisk(), які замінюють складний паттерн ручного читання потоку та запису при переміщенні файлів між дисками:

// Копіює на резервний диск, зберігаючи файл на локальному диску
Storage::disk('local')->copyToDisk('backup', 'reports/report.csv');

// Копіює на резервний диск і видаляє файл з локального диску
Storage::disk('local')->moveToDisk('backup', 'reports/report.csv');

// Можна вказати інший шлях призначення
Storage::disk('local')->copyToDisk('s3', 'reports/report.csv', '2026/report.csv');

Наступний pull request додав можливість передавати екземпляр файлової системи замість імені диска, що робить API ще гнучкішим.

Підтримка Enum у методах управління чергами

Jack Bayliss додав підтримку enum для методів Queue::pause(), Queue::resume() та Queue::pauseFor(). Це узгоджує API з підтримкою enum, яка вже доступна в атрибутах Queue/Connection та методах менеджера на кшталт route() і forward():

Queue::pause(Queues::notifications, Connections::Redis);
Queue::resume(Queues::notifications, Connections::Redis);
Queue::pauseFor(Queues::notifications, Connections::Redis, 60);

Основні виправлення та покращення

Версія 13.32.0 включає численні виправлення:

  • Виправлено поведінку containsStrict() при роботі з null-значеннями
  • Передача винятків у callback-функції порушень Eloquent
  • Виправлення методу Factory::raw() при кількості записів 0
  • Додано відсутню імплементацію SessionHandlerInterface для PHP 9
  • Виправлено Str::password(), який повертав зайві символи
  • Виправлено Str::camel() для багатобайтових перших символів
  • Виправлено collapseWithKeys() при рядкових ключах
  • Виправлено TypeError у SessionGuard::userFromRecaller()
  • Покращено типізацію методів колекцій, що змінюють дані
  • Виправлено синхронізацію часу закінчення тегів у Redis-кеші

Додаткові нововведення

  • Додано метод isManagedQueue до CloudManager
  • Оптимізовано декодування payload у чергах (тепер виконується один раз)
  • Додано UnitEnum до контракту Authorizable
  • Покращено збереження незмінених значень при шифруванні файлів середовища

Повний список змін доступний у changelog, а детальне порівняння версій - у diff між 13.31.0 та 13.32.0 на GitHub.

20

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

Коментарі

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

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

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

Новини 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.

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

Laravel Whatsapp

kstmostofa/laravel-whatsapp

Пакет Laravel з двома бекендами для WhatsApp: Meta Cloud API та вбудований whatsapp-web.js sidecar. Включає адміністративний інтерфейс на Livewire/Flux, чергові завдання, вебгуки з HMAC, моделі Eloquent, broadcasting та CLI-команди для управління життєвим циклом.

258 v1.2.2 13 5

Horizon

laravel/horizon

Панель управління та програмна конфігурація для черг Laravel.

4,179 v5.51.0 13 9