На этой неделе команда Laravel выпустила версию 11.34, представив новые возможности, такие как метод Request::fluent()
, хелпер Number::spellOrdinal()
для преобразования чисел в порядковые слова, условное определение маршрутов, сокращенные методы для фейковых HTTP-ответов и многое другое.
Порядковые числительные в виде слов
Это случилось! Добавлен метод spellOrdinal()
в хелпер Number
, позволяющий преобразовывать порядковые числительные в текстовый формат:
echo 'The ' . Number::spellOrdinal(40) . ' president of the United States is Ronald Reagan';
Подробнее: Pull Request #53661.
Условные маршруты
Добавлен трейд 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-ответы
Джейсон МакКриари предложил сокращенные методы для имитации HTTP-ответов. Теперь можно использовать строки или числа вместо более сложного синтаксиса:
До версии 11.34:
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()
Представлен метод fluent()
для класса Request
, который позволяет легко и элегантно работать с входными данными:
/** @var Illuminate\Http\Request $request */
$data = $request->fluent();
echo $data->title;
echo $data->body;
// и так далее
Подробнее: Pull Request #53662.
Поддержка PHP 8.4
Добавлена совместимость Laravel 10.x и 11.x с PHP 8.4, что позволяет использовать новейшие возможности языка.
Примечания к выпуску
С полным списком изменений можно ознакомиться в changelog, а подробное сравнение версий 11.33.0 и 11.34.0 доступно на GitHub.