Principales Novedades que trae Laravel 5.8

5 minuto(s)

Ya está desde fines de Febrero de 2019 la versión de Laravel 5.8, esta versión continua las mejoras de su antecesor Laravel 5.7, la evolución de Laravel cada ves es mejor, nos ayuda a crear tareas de manera más rápida y eficaz, en este artículo vamos a contarte las novedades más interesantes que trae esta versión de Laravel, vamos con el artículo.

Conocer las novedades que trae este Framework, te ayudará a tener conocimiento sobre que nuevas herramientas y utilidades puedes usar.

Resolución Automática de Políticas

Siempre que las políticas y modelos se encuentren en ubicaciones convencionales o normales, ahora con Laravel 5.8 no tendrás que registrarlas en la clase AuthServiceProvider.

Si deseas usar rutas no convencionales para modelos y políticas, puedes hacer el registro de una devolución de llamada para hacer el registro de las políticas o seguir configurándolas manualmente como a continuación:

Integración con Carbón 2

Ahora en la versión de Laravel 5.8 puedes usar la versión de la librería Carbón 1 o en su versión de Carbón 2, podrás hacer uso de la clase CarbonImmutable cuando lo necesites o hacer que funcione la clase CarbonImmutable por defecto en tu proyecto.

Carbón es una popular librería para manejar Fechas, Horas y otras funciones en Laravel, en la versión de Carbón 2 se incluyen mejoras en el soporte para la internacionalización.

Cambios en Cache TTL, PSR-16

El tiempo que toma el caché de Laravel al pasar un entero ahora podrás especificarlo con más claridad a segundos, esto te dará un mejor control del tiempo de cacheado, esto se ajusta a PSR-16.

Desde la versión de Laravel 5.0 hasta la versión 5.7 por ejemplo cuando se pasaba un número entero a las operaciones de almacenamiento en caché por medio de put() y remember() la duración se especificaba en minutos, por ejemplo a continuación que dure 5 minutos:


En Laravel 5.8 puedes pasar un DateTimeInterface o DateInterval a  Cache::remember() para especificar el tiempo con más claridad, por ejemplo los 5 minutos


De esta manera especificamos claramente después del número, la unidad de medida de tiempo como horas, minutos, segundos, etc.

Alternativamente, puede pasar una instancia DateTime, que indique cuándo debe expirar el elemento:


Como puedes ver, si necesitas especificar el tiempo de cacheado en segundos, puedes hacerlo sin problemas.

Puedes aplicarlo a los métodos put, putMany, add, remember y setDefaultCacheTime.

Helpers de Strings y Arrays en Desuso

Los desarrolladores de Laravel tiene planeado eliminar estos Helpers en la versión de Laravel 5.9 sin embargo en Laravel 5.8 ya están dejando estos Helpers en desuso. Si necesitas seguir haciendo uso de estos Helpers debes de hacer uso de las clases  \Illuminate\Support\Str and Illuminate\Support\Arr en vez de los siguientes Helpers:


No te alarmes demasiado ya que podrás seguir haciendo uso de los Helpers de manera habitual en Laravel, esta nueva forma se planea liberar como un paquete opcional si deseas usarlo.

Aún no esta confirmado, pero en un futuro se podría retirar la manera habitual del uso de Helpers para Arrays y Strings y dejar la nueva manera de manera predeterminada.

Soporte para Pheanstalk 4.0

La versión de Laravel 5.8 ahora incluye soporte para la biblioteca de trabajo por colas Pheanstalk 4.0 que da soporte a su librería original llamada Beanstalkd que fue diseñada originalmente para reducir la latencia de las visitas a páginas en aplicaciones web de gran volumen ejecutando tareas que requieren mucho tiempo de forma asíncrona.

Puedes actualizar la versión de Pheanstalk mediante Composer en Laravel.

Soporte para Caché y Session Drivers en DynamoDB

Esta nueva versión de Laravel incluye soporte para el control de Cacheado y Manejo de Sesiones con la base de datos no relacional (No SQL) DynamoDB, que forma parte del servicio de Amazon Web Services para Desarrolladores.

Para configurar DynamoDB en Laravel 5.8, puedes ir al archivo cache.php 

Mapeado con rutas de los Archivos Blade

Ahora cuando compilas un archivo blade en Laravel 5.8 se agrega un comentario en la parte superior del archivo compilado, este comentario contiene la ruta a la plantilla Blade original .

Mejoras en el Servidor de Laravel

En otras versiones anteriores cuando ejecutabas el comando php artisan serve lanzaba tu aplicación al puerto 8000, si otro proceso estaba usando este puerto Laravel arrojaba error.

A partir de Laravel 5.8 cuando ejecutes el comando php artisan serve Laravel buscará los puestos disponibles para correr tu servidor, incluso el puerto 8009, lo que te permitirá ejecutar múltiples aplicaciones a la vez.

Método de Control Superior orWhere

En versiones pasadas de Laravel cuando hacías una combinación de múltiples ámbitos de un modelo Eloquent a través del operador de consulta or, esto requería que realices una llamada o devolución de cierre.


En Laravel 5.8 se introduce el método orWhere de orden superior que te permite encadenar ámbitos con fluidez sin hacer uso de Closures, por ejemplo:

Zona Horaria para una tarea Programada

Si bien Laravel te permite personalizar la zona horaria de una tarea programada usando el método timezone, por ejemplo una tarea llamada backup:


Esta tarea podría volverse engorrosa y repetitiva si se esta especificando la misma zona horaria para todas las tareas programadas en tu proyecto.

En Laravel 5.8 ahora podrás definir la zona horaria en un archivo por medio de un scheduleTimezone()

Este método te devolverá la zona horaria que debe de asignarse a todas las tareas programadas en el archivo Kernel.php así evitarás escribir mas código

Token Guard Hashing SHA-256

Laravel 5.8 ahora admite el almacenamiento de tokens de API como hashes SHA-256 lo cual proporciona una mejora seguridad al almacenamiento de tokens de texto sin formato.

Un token en Laravel proporciona autenticación básica de API.

Autenticación en Multiple Broadcast

En versiones anteriores de Laravel, para los canales de transmisión privados, estos autenticaban a un usuario por medio de la protección de autenticación predeterminada en una aplicación.

A partir de Laravel 5.8 puedes asignar múltiples Guards que deben de autenticar una solicitud entrante, por ejemplo:

Relación Eloquent HasOneThrough

Ahora Laravel 5.8 brinda soporte para el tipo de relación HasOneThrough, por ejemplo si tienes un modelo llamado Proveedor que tiene la relación hasOne con el modelo Historial, puedes hacer uso de HasOneThrough para acceder al historial de cuentas de un Proveedor por medio del modelo Cuenta, por ejemplo:

Notas

  • Si deseas saber más sobre las novedades que trae Laravel 5.8 puedes  visitar la página oficial con las novedades de este lanzamiento.
  • Algunos métodos, funciones y utilidades mencionadas en este artícúlo pueden dejar de existir o continuar, esto no depende de nosotros si no de los desarrolladores que dan soporte a Laravel.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.