Liberada la versión 10.34 de Laravel.
Jorge García
Comparte:
Comparte:
Esta semana, el equipo de Laravel lanzó la versión 10.34.
Esta versión incluye un nuevo método
Aquí hay más información sobre las nuevas características introducidas esta semana:
Esta versión incluye un nuevo método
missing()
que se aplica a grupos de rutas, un alias para la nueva clase Number
, una regla de validación extensions
, y más. Aquí hay más información sobre las nuevas características introducidas esta semana:
Permitir múltiples tipos en el método ensure()
de la clase Collection
Ash Allen contribuyó con una actualización al método
ensure()
de la clase Collection
que te permite pasar múltiples tipos en lugar de solo uno:collect([new User(), new Contact(), new Contact()])
->ensure([User::class, Contact::class]);
Permitir missing()
en grupos de rutas.
Ronald Edelschaap contribuyó a la capacidad de agregar el callback
missing()
en los grupos de rutas:<?php
// Antes
Route::prefix('locations')
->group(function() {
Route::get('{location}', [LocationsController::class, 'show'])
->missing(fn() => ['success' => false, 'message' => 'The requested location does not exist']);
Route::put('{location}', [LocationsController::class, 'update'])
->missing(fn() => ['success' => false, 'message' => 'The requested location does not exist']);
Route::delete('{location}', [LocationsController::class, 'destroy'])
->missing(fn() => ['success' => false, 'message' => 'The requested location does not exist']);
});
// Ahora
Route::prefix('locations')
->missing(fn() => ['success' => false, 'message' => 'The requested location does not exist'])
->group(function() {
Route::get('{location}', [LocationsController::class, 'show']);
Route::put('{location}', [LocationsController::class, 'update']);
Route::delete('{location}', [LocationsController::class, 'destroy']);
});
Regla de validación extensions
.
@eusonlito contribuyó con una regla de validación de extensiones de archivo
extensions
que puedes utilizar en combinación con la regla de validación de mimes
:['file', 'mimes:jpg,jpeg,png', 'extensions:jpg,png']
La regla
Mira el Pull Request #49082 para más detalles.
extensions
se agregó a la documentación, la cual señala que la regla extensions
debe usarse en conjunto con la validación del tipo MIME a través de la regla mimes
.Mira el Pull Request #49082 para más detalles.
Alias de la clase Number.
Jamie York contribuyó con el aliasing de la clase Number para su uso rápido en plantillas Blade sin necesidad de importar el namespace completo:
<p>Percentage: {{ Number::percentage(50) }}</p>
Trait Conditionable agregado a la clase TestResponse.
Noboru Shiroiwa contribuyó agregando el trait
Conditionable
a la clase TestResponse
, que puedes utilizar al verificar la respuesta:test('name', function ($attributes) {
$user = User::factory()->create($attributes);
$response = $this
->actingAs($user)
->get('/');
$response
->assertOk()
->when($attributes['gender'] === 1, fn () => $response->assertSee('Hello boys!'))
->when($attributes['gender'] === 2, fn () => $response->assertSee('Hello girls!'));
})->with([
'boy' => [
[
'name' => 'Michael',
'gender' => 1,
],
],
'girl' => [
[
'name' => 'Susan',
'gender' => 2,
],
],
]);
Notas de la versión.
Puedes ver la lista completa de nuevas características y actualizaciones a continuación, así como la diferencia entre la versión 10.33.0 y 10.34.0 en GitHub. Las siguientes notas de la versión provienen directamente del registro de cambios:
v10.34.0
- [10.x] Corregir regla de validación
hex_color
por @apih en https://github.com/laravel/framework/pull/49070 - [10.x] Evitar pasar null a base64_decode en la clase Encrypter por @robtesch en https://github.com/laravel/framework/pull/49071
- [10.x] Alias de la clase Number por @ziadoz en https://github.com/laravel/framework/pull/49073
- [10.x] Agregar validación de extensiones por @eusonlito en https://github.com/laravel/framework/pull/49082
- [10.x] Agregar @throws en docblocks por @imanghafoori1 en https://github.com/laravel/framework/pull/49091
- [10.x] Actualizar docblocks para mayor consistencia @dwightwatson en https://github.com/laravel/framework/pull/49092
- [10.x] Lanzar excepción al intentar iniciar una
Collection
usandoWeakMap
por @crynobone en https://github.com/laravel/framework/pull/49095 - [10.x] Solo incluir transacciones confirmadas por @hansnn en https://github.com/laravel/framework/pull/49093
- Mejor diseño del objeto del gestor de transacciones por @taylorotwell in https://github.com/laravel/framework/pull/49103
- [10.x] use php 8.3
mb_str_pad()
paraStr::pad*
por @amacado en https://github.com/laravel/framework/pull/49108 - [10.x] Agregar Conditionable a TestResponse por @nshiro en https://github.com/laravel/framework/pull/49112
- [10.x] Permitir múltiples tipos en el método
ensure
de la clase Collection por @ash-jc-allen en https://github.com/laravel/framework/pull/49127 - [10.x] Corregir el middleware "SetCacheHeaders" con respuestas de descarga por @clementbirkle en https://github.com/laravel/framework/pull/49138
- [10.x][Cache] Corregir el manejo de valores falsos en apc por @simivar en https://github.com/laravel/framework/pull/49145
- [10.x] Restablecer reglas numéricas después de la validación de cada atributo por @apih en https://github.com/laravel/framework/pull/49142
- [10.x] Extraer el getter de atributos modificados para
performUpdate
por @taka-oyama en https://github.com/laravel/framework/pull/49141 - [10.x] ensure: Resolver $itemType fuera del closure por @lucasmichot en https://github.com/laravel/framework/pull/49137
- Allow "missing" method to be used on route groups by @redelschaap en https://github.com/laravel/framework/pull/49144
- [10.x] Obtener información sobre tablas y vistas por @hafezdivandari en https://github.com/laravel/framework/pull/49020
- [10.x] Corregir parámetro PHPDoc en MorphTo::associate() por @devfrey en https://github.com/laravel/framework/pull/49162
- [10.x] Make test error messages more multi-byte readable by @nshiro en https://github.com/laravel/framework/pull/49160
- [10.x] Hacer que los mensajes de error de prueba sean más legibles con caracteres multibyte por @billyonecan en https://github.com/laravel/framework/pull/49156
- [10.x] Mejorar la salida al usar php artisan about --json por @crynobone in https://github.com/laravel/framework/pull/49154
- [10.x] Hacer que la instancia falsa herede de Vite al usar withoutVite() por @orkhanahmadov in https://github.com/laravel/framework/pull/49150
Link del post original de Lararvel News