Ефективний доступ до даних запитів у Laravel 11.34

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 28 листопада, 2024
Цього тижня команда Laravel випустила версію 11.34, яка включає такі нововведення, як метод `Request::fluent()` та функцію `Number::spellOrdinal()`. Дізнайтеся більше про ці вдосконалення, а також про умовні визначення маршрутів і нові можливості для фейкових HTTP-відповідей

Цього тижня команда Laravel випустила версію v11.34, яка включає метод Request::fluent(), помічник spellOrdinal() для чисел, умовні визначення маршрутів, спрощені фальшиві відповіді на HTTP-запити та багато іншого.

# Написання порядкових чисел словами

Joel Stein додав метод spellOrdinal() до помічника Number, що дозволяє записувати порядкові числа словами:

'The ' . Number::spellOrdinal(40) . ' president of the United States is Ronald Reagan';

Детальніше у Pull Request #53661.

# Додавання умовного трейту до маршрутів

@Boorinio запропонував трейти Conditional для класу Route, що дозволяє розробникам додавати умовну логіку при визначенні маршрутів:

Route::middleware('shop')
    ->domain('{shop}.domain.com')
    ->when(App::isProduction(), function ($route) {
        $route->whereIn('shop', app(ShopService::class)->getShopSlugs());
    });

Детальніше у Pull Request #53654.

# Спрощені фальшиві HTTP-відповіді

Jason McCreary додав спрощений синтаксис для фальшивих HTTP-відповідей. Раніше було можливим використовувати масиви, але цього разу додано можливість використовувати рядки для тіла відповіді та цілі числа для коду статусу:

// Раніше
Http::fake([
    'google.com' => Http::response('Hello World'),
    'github.com' => Http::response(['foo' => 'bar']),
    'forge.laravel.com' => Http::response(status: 204),
]);
 
// Тепер
Http::fake([
    'google.com' => 'Hello World',
    'github.com' => ['foo' => 'bar'],
    'forge.laravel.com' => 204,
]);

Детальніше у Pull Request #53663.

# Додавання методу Request::fluent()

Steve Bauman запропонував метод fluent() для класу HTTP Request, що дозволяє зручно передавати вхідні дані:

/** @var Illuminate\Http\Request $request */
$data = $request->fluent();
 
$data->title;
$data->body;
// тощо

Детальніше у Pull Request #53662.

# Сумісність коду з PHP 8.4

Mior Muhammad Zaki додав сумісність коду з PHP 8.4 для версій Laravel 10.x та 11.x:

# Примітки до випуску

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

# v11.34.0

Популярні

Logomark Logotype

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

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

Logomark Logotype

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту