Transmisión anónima de eventos en Laravel 11.5
Esta semana, el equipo de Laravel lanzó la versión 11.5, con transmisión anónima de eventos, mejoras en el rendimiento de Blade, generación de URL con parámetros de consulta y más.
Transmisión anónima de eventos
Joe Dixon contribuyó con transmisiones anónimas en Laravel para aplicaciones en tiempo real usando Laravel Echo:
A veces es posible que desees transmitir un evento ad hoc. Un evento ad-hoc es aquel en el que no es necesario conectarse a él en ningún otro lugar de su aplicación. Solo desea notificar algo a la interfaz. Para esto, no querrás tomarte la molestia de crear un evento nuevo, solo querrás enviar un mensaje. Para ello podemos utilizar una transmisión anónima usando la fachada Broadcast, que puede ser tan simple como:
Broadcast::on('my-channel')->send();
// You may dispatch to multiple channels at the same time:
Broadcast::on([
'my-channel',
new PrivateChannel('my-channel'),
'presence-my-channel'
)->send();
// Broadcast the anonymous event on a private or presence channel
Broadcast::private('my-channel')->send();
Broadcast::presence('my-channel')->send();
Para obtener más información sobre la transmisión anónima de eventos en Laravel, consulte la Documentación de Laravel.
Mejoras en el rendimiento de los blades
Taylor Otwell compartió una idea sobre cómo potenciar el rendimiento de renderizado de los componentes Blade. Se aceptaron y fusionaron dos solicitudes de extracción como parte de Laravel 11.5, que en conjunto mejoraron Blade renderizado en un 20%:
- Supercharge Blade por Christopher Pitt
- Mejora de la velocidad del bucle del componente Blade por Lonny Kapelushnik
Capacidad para generar URL con parámetros de consulta
Steve Bauman contribuyó con la capacidad de generar URL con parámetros de consulta a través del nuevo método query()
:
// http://localhost/products?sort=-name
url()->query('products', ['sort' => '-name']);
// http://localhost/products?columns[0]=name&columns[1]=price&columns[2]=quantity
url()->query('products', ['columns' => ['name', 'price', 'quantity']]);
// Overiding parameters:
// http://localhost/products?sort=-price
url()->query('products?sort=-name', ['sort' => '-price']);
// Appending parameters
// http://localhost/products?sort=-name&search=samsung
url()->query('products?sort=-name', ['search' => 'samsung']);
Agregue un espacio de nombres predeterminado para make:trait y make:interface
@milwad-dev contribuyó con un espacio de nombres predeterminado para make:trait
y make:interface
, que creará estas clases en las siguientes rutas, si existen:
- Interfaces:
- App\Contracts
- App\Interfaces
- Traits:
- App\Concerns
- App\Traits
Si alguna de esas carpetas existe en su proyecto, Laravel creará el archivo en ese espacio de nombres. Por ejemplo, App\Contracts
tendría prioridad sobre App\Interfaces
. Por último, el archivo se crea directamente en el espacio de nombres de la aplicación si no se encuentra alguno de los directorios.
Notas de la Versión
Puede ver la lista completa de nuevas funciones y actualizaciones a continuación y la diferencia entre 11.4.0 y 11.5.0 en GitHub. Las siguientes notas de la versión provienen directamente del registro de cambios