Las plantillas de formulario migran a métodos existentes en Laravel 11

Las plantillas típicas en Laravel 10 se definen mediante $casts Propiedad de la matriz. Sin embargo, en Laravel 11, puedes especificar un casts() El método, que abre la posibilidad de utilizar rutas fijas sobre ruedas integradas, así como definir rutas fijas sobre ruedas personalizadas:

use App\Enums\UserOption;

use Illuminate\Database\Eloquent\Casts\AsEnumCollection;

 

// ...

 

/**

 * Get the attributes that should be cast.

 *

 * @return array<string, string>

 */

protected function casts(): array

{

    return [

        'email_verified_at' => 'datetime',

        'password' => 'hashed',

        'options' => AsEnumCollection::of(UserOption::class),

    ];

}

En Laravel 10, la misma plantilla se vería así ya que no se pueden llamar métodos estáticos al definir una propiedad de matriz:

protected $casts = [

    'options' => AsEnumCollection::class.':'.UserOption::class,

];

Esta actualización es compatible con versiones anteriores de Laravel 10 y aún puede seleccionar plantillas a través de $casts Propiedad combinada con nueva. casts() camino. el $casts Propiedad y casts() El método se fusiona y las claves del método tienen prioridad sobre el método. $casts Propiedad.

Recomiendo mover las plantillas a la versión del método si desea aprovechar los métodos fijos de las ruedas integradas.

Un ejemplo de AsEnumCollection castor

Junto con una actualización para seleccionar actores trans casts() método, se han agregado nuevos métodos estáticos a las ruedas integradas para facilitar la selección de plantillas:

AsCollection::using(OptionCollection::class);

AsEncryptedCollection::using(OptionCollection::class);

AsEnumArrayObject::using(OptionEnum::class);

AsEnumCollection::using(OptionEnum::class);

preguntad por Nuño Maduroquien implementó esta característica en Solicitud de Retiro No. 47237!

READ  El Super Leap Day con un solo botón ahora se puede jugar en Apple Arcade

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *