Цього тижня команда 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.
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.
Steve Bauman запропонував метод fluent() для класу HTTP Request, що дозволяє зручно передавати вхідні дані:
/** @var Illuminate\Http\Request $request */
$data = $request->fluent();
$data->title;
$data->body;
// тощо
Детальніше у Pull Request #53662.
Mior Muhammad Zaki додав сумісність коду з PHP 8.4 для версій Laravel 10.x та 11.x:
Повний список нових функцій і оновлень можна знайти нижче, а також різницю між 11.33.0 та 11.34.0 на GitHub. Нижче наведені примітки до випуску з журналу змін:
BackedEnum при використанні fromRoute() у MakesHttpRequests від @wietsewarendorff в #53593$ownerKey у MorphTo для кращої сумісності від @crynobone в #53592assertCount() для фальшивого сховища від @ahmadreza1383 в #53620Paginator для phpstan від @Afrowson в #53615Arr::last() від @talkinnl в #53619bearerToken стане нечутливим до регістру завдяки @samtlewis в #53627Number::spellOrdinal() для написання порядкових чисел словами від @joelstein в #53661SyntaxError при попередньому завантаженні Vite з порожніми активами від @jnoordsij в #53659class-string від @timacdonald в #53657never для методів, які завжди викликають виключення від @tamiroh в #53643withoutDefer відтепер також повертає $this від @tamiroh в #53644Request::fluent() від @stevebauman в #53662Support\Fluent від @stevebauman в #53665Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту