Використання нової функції Fair Queue від Amazon з SQS у Laravel 12.27

Перекладено ШІ 0 Laravel News 04 вересня, 2025

Laravel отримав оновлення до версії 12.27.0, яке принесло підтримку групових ідентифікаторів повідомлень у чергах SQS FIFO. Досліджуйте, які нові можливості з'явилися в рамках цього релізу та як вони можуть покращити ваші проекти у Laravel

Команда Laravel цього тижня випустила версію 12.27.0, яка додала підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS. Ідентифікатори груп дозволяють використовувати функцію справедливого чергування Amazon у SQS. Також версія 12.27 містить кілька нових можливостей — давайте розглянемо, що нового:

# Підтримка справедливих черг SQS

Міор Мухаммад Закі реалізував підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS у Pull Request #56763. Це дозволяє драйверу черг SQS у Laravel використовувати функцію справедливих черг від Amazon.

ProcessOrder::dispatch($order)
    ->onGroup("customer-{$order->customer_id}");

Документація Laravel була оновлена з детальною інформацією про FIFO-черги SQS та справедливі черги. Додаткова інформація доступна у документації Amazon SQS.

# Додано опцію prepend до Str::plural()

Кейсі Двайер додала можливість додавання кількості перед використанням методу Str::plural().

We had {{ number_format($attendees->count()) . ' ' . Str::plural('attendee', $attendees->count()) }} at Laracon 2025.
 
{{-- Використовуючи параметр `prependCount` --}}
We had {{ Str::plural('attendee', $attendees->count(), prependCount: true) }} at Laracon 2025.

# Pretty JSON приймає параметри

Лукас Міхот додав можливість передавати додаткові параметри методу prettyJson(), що надає розробникам більше контролю над кодуванням під час використання цього методу:

$data->prettyJson(['foo' => 'bar'], JSON_UNESCAPED_UNICODE);

# Підтримка значень Enum у методах Collection countBy та groupBy

Єспер Нордзай реалізував підтримку значень enum у методах Collection countBy та groupBy шляхом їх перетворення на рядки або цілі числа в якості ключів масиву:

collect([
    ['key' => TestBackedEnum::A],
    ['key' => TestBackedEnum::B], ['key' => TestBackedEnum::B],
])
    ->countBy('key')
    ->all(); // [1 => 1, 2 => 2];

# Примітки до релізу

Повний список нових функцій і оновлень можна знайти нижче, а також зміни між версіями 12.26.0 та 12.27.0 на GitHub. Нижче наведено виписки з чангелогу:

# v12.27.0

  • [12.x] Додано опцію prepend для Str::plural() від @caseydwyer у Pull Request
  • [12.x] Виправлено заміну зображень у листах з кількома рядками від @iammursal у Pull Request
  • [12.x] Додано підтримку справедливих черг SQS від @crynobone у Pull Request
  • [12.x] Підтримка значень enum у методі countBy у Collection від @jnoordsij у Pull Request
  • [12.x] Поліпшення тестування від @crynobone у Pull Request
  • [12.x] Виправлення документаційних блоків і методу all() в ArrayStore для узгодженості від @AhmedAlaa4611 у Pull Request
  • [12.x] Поліпшена граматика в ArrayLock від @cosmastech у Pull Request
  • [12.x] Нормалізація коментарів для timestampsTz() і nullableTimestampsTz() від @AhmedAlaa4611 у Pull Request
  • [12.x] Зменшено кількість безглуздих проміжних змінних від @AhmedAlaa4611 у Pull Request
  • [12.x] Спрощено та узгоджено Arr::collapse() від @weshooper у Pull Request
  • [12.x] Поліпшення читабельності від @AhmedAlaa4611 у Pull Request
  • [12.x] Поліпшення тестування від @crynobone у Pull Request
  • [12.x] Видалення зайвого простору перед номером рядка в трасуванні помилок від @mtbossa у Pull Request
  • [12.x] Видалено невикористовувану змінну від @AhmedAlaa4611 у Pull Request
  • [12.x] Додано підтримку UnitEnum у метод groupBy у Collection від @jnoordsij у Pull Request
  • [12.x] Додано відсутній тип повернення void до тестових методів від @AhmedAlaa4611 у Pull Request
  • [12.x] Поліпшено документацію методу countBy у Collection для підтримки enum callback від @jnoordsij у Pull Request
  • [12.x] Поліпшено типи повернення InteractsWithContainer від @axlon у Pull Request
  • [12.x] Дозволено масове присвоєння для приведення типу значення об'єкта від @AbdelElrafa у Pull Request
  • [12.x] Дозволяє APP_BASE_PATH з $_SERVER від @crynobone у Pull Request
  • [12.x] Виправлено типографічну помилку в документації від @dwightwatson у Pull Request
  • [12.x] Дозволено enum в інших методах DatabaseManager від @jnoordsij у Pull Request
  • Додано значок здоров'я в README від @jonathimer у Pull Request
  • [12.x] Дозволяє методу toPrettyJson() приймати параметри від @lucasmichot у Pull Request

Популярні

Інше, що варто прочитати

17 Оновлено 01 червня, 2026

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

11 Оновлено 01 червня, 2026

Локальні моделі та їх скоупи в Laravel за допомогою атрибута Scope

В Laravel 12 ми отримали можливість використовувати новий підхід для визначення локальних скоупів у моделях Eloquent. Дізнайтеся, як новий атрибут #[Scope] спрощує цей процес і зберігає ваші назви методів незмінними

19 Оновлено 01 червня, 2026

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!