Todos los artículos

Accede a los datos de la solicitud de manera fluida en Laravel 11.34.

Julian Beaujardin
Julian Beaujardin November 26th, 2024

Esta semana, el equipo de Laravel lanzó la versión 11.34 con varias características nuevas y mejoras significativas:

Convertir números ordinales en palabras

Joel Stein contribuyó con el método spellOrdinal() en el helper Number, que convierte números ordinales en palabras:

'El ' . Number::spellOrdinal(40) . ' presidente de los Estados Unidos es Ronald Reagan';

Más detalles en el Pull Request #53661.

Rutas condicionales con el trait Conditional

@Boorinio añadió el trait Conditional a la clase Route, permitiendo lógica condicional al definir rutas:

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

Más detalles en el Pull Request #53654.

Atajos para simular respuestas HTTP

Jason McCreary introdujo atajos para simular respuestas HTTP con menos código. Ahora es posible usar cadenas o enteros para simplificar las respuestas:

// Antes
Http::fake([
    'google.com' => Http::response('Hello World'),
    'github.com' => Http::response(['foo' => 'bar']),
    'forge.laravel.com' => Http::response(status: 204),
]);

// Después
Http::fake([
    'google.com' => 'Hello World',
    'github.com' => ['foo' => 'bar'],
    'forge.laravel.com' => 204,
]);

Más detalles en el Pull Request #53663.

Método Request::fluent()

Steve Bauman añadió el método fluent() a la clase Request, que permite trabajar con los datos de entrada de forma fluida:

/ @var Illuminate\Http\Request $request */
$data = $request->fluent();

$data->title;
$data->body;
// etc.

Más detalles en el Pull Request #53662.

Compatibilidad con PHP 8.4

Mior Muhammad Zaki contribuyó a garantizar la compatibilidad del código con PHP 8.4 para Laravel 10.x y 11.x:

Notas de lanzamiento

Consulta la lista completa de características nuevas y actualizaciones en el changelog oficial o revisa las diferencias entre 11.33.0 y 11.34.0.