Una Nueva Regla de Validación y la Capacidad de Fallar Manualmente un Comando en Laravel 11.8
Este semana, el equipo de Laravel lanzó la versión v11.8, con una nueva regla de validación, la capacidad de fallar un comando fuera del método handle(), crear una vista durante make:mail, y más.
Mostrar Eventos en el Comando model:show
Wendell Adriel contribuyó con una sección de Eventos al comando model:show
que muestra cualquier evento definido en la propiedad $dispatchesEvents
:
Nueva Regla de Validación contains
Andrew Brown contribuyó con una regla de validación contains
que verifica que los valores esperados estén incluidos en el array de entrada dado:
return [
'allowed_ips' => ['present', 'nullable', 'array', 'contains:' . $request->ip()],
'allowed_ips.*' => ['required', 'ip'],
];
En la descripción del PR, este ejemplo asegura que la IP del usuario esté en el array allowed_ips. También puedes pasar múltiples parámetros, lo que requeriría que todos los parámetros estén presentes en el array de datos. Consulta Pull Request #51348 para más detalles.
Capacidad para Fallar Manualmente un Comando
Len Woodward contribuyó con la capacidad de fallar manualmente un comando Artisan fuera del método handle(). Al igual que el método de conveniencia $this->fail()
de Queue, los comandos ahora pueden fallar un trabajo manualmente:
public function handle()
{
$this->trigger_failure();
}
protected function trigger_failure()
{
$this->fail('¡Ups!');
}
Consulta Pull Request #51435 para detalles de implementación y ejemplos de cómo este método podría ser útil en comparación con otros enfoques existentes para fallar temprano en un comando.
Crear una Vista Blade con make:mail
Ryan Chandler contribuyó con una bandera --view
al comando make:mail
que creará un archivo Blade vacío y configurará el Mailable creado para usarlo por defecto. Funciona de la misma manera que la opción existente --markdown
y ahorra el paso manual de crear y conectar una plantilla de correo Blade.
php artisan make:mail OrderShipped --view=mail.orders.shipped
Notas de la Versión
Puedes ver la lista completa de nuevas características y actualizaciones a continuación y la diferencia entre 11.7.0 y 11.8.0 en GitHub. Las siguientes notas de la versión son directamente del changelog.