Laravel 6

Voy a comenzar un nuevo proyecto y para ello he planteado utilizar la última versión de Laravel:

composer create-project --prefer-dist laravel/laravel blog

Laravel Framework 6.8.0  ( Según mi consola php artisan –version)

¿Por qué utilizar esta versión?

La última versión de Laravel ya cuenta con muchas mejoras y correcciones de errores de versiones anteriores. No supone un riesgo a la hora de probar e instalar una aplicación de 0 ya que tenemos toda la documentación a mano.

¿Y si queremos pasar de la versión 5 a la versión 6? En este caso, como es obvio, tenemos que documentarnos bien sobre las diferencias entre versiones y compatibilidades con paquetes ya instalados en versiones anteriores. Lo bueno es que los desarrolladores se han tomado su tiempo para dejar toda la documentación a mano y así poder pasar de la versión 5 a la 6.

 

Alguna de las últimas mejoras que considero importantes en esta última versión:

Versión LTS (Long term support en castellano Soporte de largo plazo)

Para la versión 6 los desarrolladores proveerán de corrección de errores (Bug Fixes)  durante 2 años (hasta el 3 de septiembre de 2021) y correcciones de seguridad durante 3 años (hasta el 3 de septiembre de 2022)

Mejoras de Eloquent Subqueries

Laravel 6 presenta nuevas mejoras para dar más dinamismo a nuestras consultas (queries). Ahora se podrán hacer subconsultas (subqueries) utilizando pocas líneas.

return Destination::addSelect(['last_flight' => Flight::select('name')
->whereColumn('destination_id', 'destinations.id')
->orderBy('arrived_at', 'desc')
->limit(1)
])->get();

Este ejemplo nos devolvería una consulta de un modelo Destination (Destino del Vuelo) añadiendo una subconsulta de model Flight (Vuelo) para devolvernos los datos de todos los destinos y sus vuelos relacionados ordenados por la llegada (arrived_at) más reciente.

Laravel UI

Laravel nos ofrecía en versiones anteriores esqueleto frontend (frontend scaffolding) con Bootstrap y Vue. En la versión 6 de Laravel esto ya no es así, ya que lo han extraído a un paquete de Composer laravel/ui. Al igual que esto, también se ha extraído el frontend de autenticación que antes llamabamos con el comando make:auth.

Para poder añadir el scaffolding ahora tendremos que hacerlo vía composer y el comando ui de Artisan:

composer require laravel/ui --dev

php artisan ui vue --auth

Excepciones con Ignition

Laravel 6 cuenta con Ignition integrado, una nueva forma de ver las excepciones visualmente. Creado por Freek Van der Herten and Marcel Pociot, Ignition nos ofrece una mejora en el manejo de errores añadiendo soluciones en el acto por pantalla, editar código, compartir excepciones y una mejorada UX.

Podemos ver en este ejemplo el manejador de excepciones de Larvel 5 y la nueva de Laravel 6 con Ignition

Laravel 5

Laravel 6