Novedades de Laravel

Miguel Manzano

Miguel Manzano, autor del post.

El pasado martes 23 de agosto de 2016 saltaban las alarmas. Tras casi un mes desde el momento en que todo presagiaba que se iba a lanzar la nueva versión, teníamos con nosotros Laravel 5.3. Se trata de una versión de Laravel que tendrá soporte para 6 meses. Un punto importante es que esta versión de Laravel requiere de PHP 5.6.4 como mínimo para funcionar.

Si quieres una versión de Laravel estable en el tiempo te recomiendo usar Laravel 5.1 que contará con soporte hasta el año 2018. Para esta versión necesitarás PHP 5.5.9 como mínimo.

Estamos ante un framework que ha mejorado su capacidad para convertirse en una herramienta para generar APIs y mejorar, como en cada nueva versión, la experiencia de cara a los desarrolladores.

Por defecto no veremos tantas carpetas como antes dentro de app. Éstas se irán generando conforme añadamos complejidad a nuestra aplicación. En cuanto a organización de ficheros la otra gran novedad es que el fichero routes que encontrábamos en app/Http/ gana protagonismo y se convierte en una carpeta llamada routes dónde encontramos tres ficheros.

  • api.php está bajo el grupo de middlewares api lo que nos permite definir rutas con protecciones especiales para endpoints.
  • console.php se trata de una mejora en la definición de comandos de Artisan (la consola de Laravel que nos permite crear clases, tablas en la base de datos…). Ahora podemos definirlos como una closure, al igual que se hace con las rutas. Seguimos teniendo disponible la creación de una clase para cada comando como antes pero ahora podemos definir un comando en este fichero.
  • web.php es donde definiremos todas las rutas accesibles aplicando el grupo de middlewares web. Esto nos permite tener sesiones, protección contra ataques csrf. Este fichero es el que usaremos para definir las rutas que antes definíamos en routes.php dentro de la carpeta app/Http.

Otra de las mejoras destacables de esta nueva versión de Laravel es que nos recomienda usar Vue.js para mejorar la experiencia de usuario de nuestra plataforma. Todo puede funcionar sin Vue.js pero muchos proyectos basados en Laravel están apostando por él. Si quieres estar integrado en la comunidad es una buena idea que le eches un ojo. En esta versión Laravel viene con un fichero de ejemplo y el setup listo para poder usarlo con tan sólo hacer npm install y ejecutar gulp. La experiencia del inicio en frontend es algo que han mejorado bastante en esta nueva versión.

laravel

Laravel ofrece, ahora, una herramienta llamada Passport que nos va a permitir tener un sistema de autenticación para APIs montado en menos de 20 minutos.

También ofrece una integración para búsquedas llamada Scout que nos permite, de serie, usar algolia para indexar nuestro contenido y consultarlo como si hiciéramos una consulta a nuestra base de datos.

Una de las mejoras más divertidas la encontramos en la integración de un sistema de notificaciones. Este sistema es ampliable. Tan ampliable que han permitido incluso enviar notificaciones por correo postal.

En cuanto a las migraciones, que nos permiten definir tablas, nuevos campos en las tablas, actualizar valores de ciertos campos… o, incluso, borrar tablas, ahora es posible indicar de cuantas migraciones queremos hacer el rollback. Rollback no es más que deshacer la acción ejecutada por una aplicación (siempre que se pueda):

php artisan migrate:rollback –step=1

Las colecciones y el trabajo con ellas irrumpe en esta versión devolviéndose éstas en lugar de arrays cuando usamos el Query Builder. ¿No sabes lo que son las colecciones? Tranquilo. Hay todo un curso desde cero realizado por Adam Wathan.

Hay más novedades pero no quiero abrumaros. Podéis encontrar más información en el blog de Matt Stauffer y, por supuesto, en Laravel-news.com.

Si estás interesado en este framework para PHP, no puedes perderte el curso “Aprende Laravel”,  con Miguel Manzano, el autor de este post.

 

Chaume Sánchez

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *