Цього тижня команда 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