banner-lanzamiento-laravel-5-2
Hace unas horas fue lanzado oficialmente Laravel 5.2 que continua con las mejoras hechas en la versión 5.1 agregando además:

  • Soporte para multiples drivers de autenticación
  • Model binding implícito
  • Global scopes de Eloquent mejorados
  • Generador del sistema de autenticación incluido por defecto en Laravel 5.0 (login, logout, etc.)
  • Middleware para limitar el número de peticiones por dirección IP por tiempo
  • Posibilidad de agrupar varios middleware
  • Mejoras en la validación de array de formularios
  • Entre otras

El anuncio fue dado desde la cuenta oficial de Laravel News en Twitter:

Nuestras características favoritas de Laravel 5.2

Ahora veamos las características de esta nueva versión del framework más popular de PHP, a más detalle:

Auth scaffolding

Todas las vistas de la autenticación (login, forgot password, etc.) pueden ser generadas con el nuevo comando:

php artisan make:auth

Este comando generará 4 vistas en la carpeta resources/views/auth/ para el login, registro (register) y el feature de olvidar contraseña: email (que te permite enviar la solicitud) y reset (para cambiar tu clave).

Además generará otra vista en resources/views/auth/emails/ para enviar el email para recuperar contraseña, un layout en layouts/app.blade.php, y dos vistas «home» y «welcome» emulando el pequeño sistema que se incluía por defecto en Laravel 5.0.

Así que si necesitas estas vistas, genéralas con un comando, sino, créalas tú mismo a tu gusto: con esto tienes lo mejor de ambas versiones de Laravel.

Implicit model binding

Laravel ya incluía un feature que te permitía atar un parámetro de la ruta a un modelo o cualquier otro objeto, pero tenías que definirlo manualmente, como te explicamos en este tutorial sobre Route Model Binding.

¡Con Laravel 5.2 puedes hacerlo como por arte de magia sin definir código extra!

Route::get('/api/users/{user}', function(User $user) {
    return $user;
});

Si escribes esta ruta en tu archivo de rutas (routes.php) y ahora desde el navegador llamas a: api/users/5, Laravel buscará por ti el usuario que tenga el ID 5, lanzará un error 404 si no lo encuentra, y si lo encuentra, lo va a asignar a la variable $user, para que la tengas disponible en el callback de la ruta. Por supuesto, también funciona con acciones dentro del controlador:

public function edit(User $user)
{
    return view('users/edit', compact('user'));
}

Antes de esto, debías definirlo manualmente con:

Route::model(‘user’, ‘App\User’)

Lo cuál no era demasiado trabajo, pero ahora Laravel lo hace por ti.

Array form validation

Muchos usuarios en el Slack de Styde, nos han preguntado cómo validar por ejemplo los artículos de una factura, imagina el siguiente formulario

<p>
    <input type="text" name="article[1][product_id]">
    <input type="text" name="article[1][total]">
</p>
<p>
    <input type="text" name="article[2][product_id]">
    <input type="text" name="article[2][total]">
</p>

Con Laravel 5.1 e inferior validar esto puede resultar algo complicado, con Laravel 5.2 es muy fácil:

$this->validate($request, [
  'article.*.product_id' => 'exists:products,id',
  'article.*.total' => 'required|number',
]);

So easy.

Estas, podemos decir, que son nuestras características favoritas en Laravel 5.2, pronto por supuesto estaremos detallando todas y cada una de ellas.

Requerimientos mínimos de Laravel 5.2

Laravel 5.2 requiere la versión de PHP 5.5.9 o superior, además de las siguientes extensiones:

  • OpenSSL PHP
  • PDO
  • Mbstring
  • Tokenizer

De todas formas, si vas a comenzar un proyecto nuevo, te recomendamos que trabajes también con PHP 7; es mucho más rápido y tiene muchas más ventajas con respecto a la versión anterior.

Instalación de Laravel 5.2

Así como en otras versiones, tienes 2 opciones para instalar Laravel:

Instalador de Laravel

composer global require «laravel/installer»

Asegúrate de colocar el directorio ~/.composer/vendor/bin en tu «PATH» para que el ejecutable de Laravel pueda ser ejecutado desde cualquier directorio de tu sistema.

Una vez instalado, puedes crear un nuevo proyecto de Laravel con el siguiente comando: laravel new nombre_de_tu_proyecto_aqui. La nueva instalación incluirá todas las dependencias de Composer perfecto.

Instalación a través de Composer

Si ya tienes Composer instalado en tu sistema, puedes crear un nuevo proyecto de la última versión de Laravel, utilizando el siguiente comando:

composer create-project –prefer-dist laravel/laravel nombre_de_tu_proyecto

Por supuesto no olvides reemplazar nombre_de_tu_proyecto con… el nombre de tu proyecto.

En ambos casos, Composer se encargará de manejar todas las dependencias de Laravel y de tu proyecto.

Aprende más sobre Composer.

Laravel 5.2 vs Laravel 5.1

En sus notas de lanzamiento nos dan un bosquejo de las mejoras que nos traen en esta actualización y además nos aclaran que las versiones LTS, tal como es Laravel 5.1, tendrán soporte de corrección de errores por 2 años y para correcciones de seguridad por 3 años. Mientras que para versiones generales como Laravel 5.2 tendrá corrección de errores por 6 meses y las correcciones de seguridad serán proporcionadas por 1 año. Por lo tanto, si quieres utilizar las últimas novedades de Laravel puedes comenzar a usar Laravel 5.2 en tus nuevos proyectos, pero si prefieres la estabilidad y el mantenimiento sobre la novedad, puedes utilizar Laravel 5.1 LTS.

De cualquiera de las dos formas, aquí en Styde.net pronto vamos a enseñarte las nuevas características y mejoras de Laravel 5.2, paso a paso, mientras tanto, puedes aprender a crear aplicaciones profesionales con Laravel 5.1.

Síguenos en Twitter para aprender todo sobre Laravel.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.