Todos los artículos

Genéricos añadidos a Eloquent Builder en Laravel 11.15

Julian Beaujardin
Julian Beaujardin July 10th, 2024

El equipo de Laravel lanzó la versión 11.15 esta semana, que incluye mejoras en el comando make:mail, soporte para establecer tipos mime en los archivos adjuntos con Resend, actualizaciones de migraciones de base de datos y más.

Agregar Genéricos a Eloquent Builder y Relaciones

Caleb White contribuyó integrando genéricos en relaciones en el framework de Laravel:

Los genéricos proporcionan una mejor auto-completación e intellisense en el IDE sin tener que depender de Larastan para agregar genéricos a las clases mediante el uso de stubs. Tener genéricos en el framework también facilita a los paquetes de terceros definir los tipos internos en sus relaciones personalizadas.

Caleb ha estado contribuyendo a Larastan y ahora está integrando esto en el framework, mejorando el análisis estático en Laravel. Consulta Pull Request #51851 para más detalles.

Solicitar la Creación de una Vista con make:mail

Christoph Rumpel contribuyó con una actualización al comando make:mail que solicita al usuario el tipo de vista que le gustaría crear:

Hacer Router Tappable

Muhammed Sari agregó el trait Tappable a la clase Router, permitiendo escribir algo como lo siguiente:

class RouteRegistrar
{
    public function __invoke(Router $router)
    {
        $router->post('redacted', WebhookController::class)
            ->name('redacted');
    }
}

$router
    ->tap(new Redacted1Webhooks\RouteRegistrar())
    ->tap(new Redacted2Webhooks\RouteRegistrar())
//  ...
;

// En pruebas...
protected function defineRoutes($router)
{
    $router->tap(new \RedactedWebhooks\RouteRegistrar());
}

Actualizaciones a las Migraciones de Base de Datos

Hafez Divandari contribuyó con actualizaciones a las migraciones de base de datos alrededor de SQLite y otras mejoras de calidad de vida. En resumen, Pull Request #51373 introduce las siguientes actualizaciones:

  • Extender soporte de SQLite a 3.26+
  • Agregar y eliminar claves foráneas en SQLite
  • Agregar y eliminar la clave primaria en SQLite
  • Preservar el orden de los comandos
  • Estado del Blueprint para SQLite

Soporte para Tipos MIME en Resend Mail Transport

Jayan Ratna contribuyó con soporte para establecer tipos MIME en archivos adjuntos dentro de una clase mailable de Resend. Este PR agrega el método withMime(), que se demuestra en el pull request de la siguiente manera:

public function attachments(): array
{
    return [
        Attachment::fromPath('/path/to/file')
                ->as('name.pdf')
                ->withMime('application/pdf'),
    ];
}

Notas de la Versión

Puedes ver la lista completa de nuevas características y actualizaciones a continuación y la diferencia entre 11.14.0 y 11.15.0 en GitHub. Las siguientes notas de la versión son directamente del changelog