M@c -
2020-05-22 02:00:20

laravel 7

La versión de Laravel 7 ha sido lanzada el día 03 de marzo de 2020 y en esta versión se continúan muchas mejoras que se iniciaron en la versión de Laravel 6, entre estas novedades y mejoras están las mejoras de enrutamiento, Eloquent Casts personalizados, etiquetas de componentes Blade, entre otras características que te contaré en este Post.

Laravel Airlock

Esta herramienta proporciona un sistema de autenticación para Aplicaciones de una sola página o Simple Page Application (SPA), aplicaciones móviles y APIs simples que trabajen con autenticación mediante tokens. Laravel Airlock fue creado por Taylor Otwell (Creador de Laravel) y permite que cada usuario genere sus propios tokens de seguridad en su cuenta, a estos tokens se le puede otorgar habilidades o ámbitos que especifiquen que acciones puedan realizar.

Eloquent Casts Personalizados

Laravel cuenta con muchas características y utilidades Eloquent que permiten manipular o convertir los datos de una Base de Datos, en ocasiones puede que necesitemos definir nuestros propios tipos de manipuladores o convertirores de datos, ahora podemos crearlos definiendo una clase que llame a la interface CastsAttributes

Las interface CastsAttributes debe contar con 2 métodos, uno llamado get el cual es el responsable de transformar un valor sin procesar de la base de datos a una valor en estado de conversión y el otro método es set el cual transforma un valor en estado de conversión a un valor sin procesar el cual puede ser almacenado en la Base de Datos.

Etiquetas en Componentes Blade y otras mejoras

En Laravel 7 un componente ahora puede tener una clase asociada que especifica los datos que debe aceptar el componente. Las propiedades y métodos públicos definidos en la clase asociada a un componente estarán automáticamente disponibles en la  vista del componente.

Cualquier atributo HTML adicional que sea especificado en el componente, se puede administrar utilizando la variable $attribute que permite instanciar varios atributos adicionales al componente.

Cliente HTTP (Guzzle)

Laravel 7 ha incorporado una API basada en el cliente  que permite realizar de manera ágil solicitudes HTTP, por ejemplo de manera ágil y simple podemos hacer una solicitud POST e interactuar con los datos JSON:

Operaciones fluidas con String

Si estas familiarizado con la clase existente en Laravel que permite manipular Strings, ahora en Laravel 7 se ha añadido una biblioteca de manipulación de Strings que esta más orientada a objetos y es más fluida. Puedes crear un objeto más fluido Illuminate\Support\Stringable usando el método Str::of al cual luego le puedes encadenar una  variedad de métodos que te permiten manipular el String:

Mejoras en Route Model Binding

 

En Laravel 7 se han añadido un par de mejoras de esta característica:

Personalizar Key

En ocasiones puede que necesites trabajar con modelos Eloquent utilizando otra columna que no sea id y ahora puedes personalizar la columna que desees definiendolo en el parámetro de una ruta, por ejemplo podemos usar el slug de un registro de la Base de Datos:

Múltiples Drivers (Controladores) de Correo

Laravel 7 permite configurar múltiples remitentes en una aplicación, cada aplicación configurada en el archivo mail.php puede tener sus propias opciones y su propios servicios de correo para enviar mensajes de correo electrónico.

Por ejemplo una aplicación podría usar Postmark para enviar correo transaccional mientras se usa Amazon SES para enviar correo masivo.

Por defecto Laravel usará la configuración establecida en archivo mail.php, sin embargo podemos utilizar el método mailer para enviar un mensaje utilizando una configuración de correo específica:

Mejoras en la velocidad de caché de Ruta

En aplicaciones grandes que cuenten por ejemplo con mas de 700 rutas o más, la velocidad es 2 veces mayor al hacer solicitudes de las rutas, no se requieren hacer cambios en las solicitudes, solo debes usar el comando php artisan route:cache y Laravel 7 llevará acabo mejoras en la velocidad de las rutas almacenadas en caché.

Soporte CORS

Laravel 7 ha añadido soporte para CORS mediante la integración del popular paquete Laravel CORS creado por Barry vd Heuvel. El soporte permite configurar OPTIONS en las solicitudes de uso compartido de recursos de origen cruzado (CORS).

Método withCasts

En algunas ocasiones puede que necesites convertir algunas consultas, por ejemplo si seleccionamos un valor sin formato de una tabla como el valor ultima_publicacion:

Mejoras de MySQL 8 + Database Queue

En versiones anteriores de Laravel, la database Queue se consideraba lo suficientemente robusta para el uso en producción, debido a determinados puntos. Ahora Laravel 7 proporciona mejoras en las aplicaciones que usan MySQL 8 como la Database Queue respaldada.

Al usar la clausula FOR UPDATE SKIP LOCKED y otras mejoras de SQL, el driver database ahora se puede usar de forma segura en aplicaciones de mayor volumen.

Comando ‘php artisan test’

En Laravel 7, además del comando phpunit, ahora podemos hacer uso del comando php artisan test para realizar pruebas. Este proporciona una hermosa consola UX con información sobre la prueba que se esta llevando acabo actualmente.

Nota

  • Algunas Novedades pueden cambiar, modificarse o ser eliminadas en un futuro, esto no depende de nosotros, si no de los Desarrolladores que dan soporte a Laravel, que suelen cambiar las funcionalidades de Laravel en futuras versiones.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

 

 


Commentarios (1)

admin

2020-08-13 14:01:25

Muy buen aporte

para emitir comentarios debes de crearte un cuenta e ingresar