La nueva versión 5.4 de Laravel ya es oficial desde el pasado día 24 de enero. Esta actualización tiene muchas nuevas características y mejoras que puedes contemplar en este vídeo donde se explican algunas de ellas. Corren buenos tiempos para uno de los frameworks más importantes de PHP, por ello en OpenWebinars os invitamos a realizar nuestro curso de Laravel 5.

Laravel Dusk

Laravel Dusk es una herramienta de prueba de navegador de extremo a extremo para aplicaciones en JavaScript. Su objetivo es proporcionar la mejor forma de hacer pruebas de interacción de páginas. Se puede utilizar para tareas como probar botones o enlaces, formularios, o los drag & drop. Dusk utiliza ChromeDriver y Facebook Php-webdriver para realizar las pruebas. Puede funcionar con cualquier navegador de Selenium, pero viene con ChromeDriver por defecto lo que te permite ahorrar la instalación de un JDK o Selenium.

Laravel Mix

Laravel Mix es la siguiente generación de Elixir. Se construye con webpack, en vez de Gulp y cambió de nombre por los cambios que se produjeron. Si no se ha personalizado la configuración de Elixir, cambiarse a Mix no debería ser un problema, y si lo fuera, Laracasts cuenta con un vídeo que explica cómo funciona esta herramienta.

Componentes Blade y Slots

Los componentes y los slots están diseñados para darle más flexibilidad a sus plantillas Blade. Como ejemplo, imagina que tiene una plantilla que se utiliza para mostrar una alerta:

// alert.blade.php
<div class="alert">
    {{ $slot }}
</div>

En el archivo de la plantilla se incluiría así:

@component('inc.alert')
    This is the alert message here.
@endcomponent

Emails en Markdown

Laravel 5.3 ya introdujo dos nuevas características en torno al envío de correos electrónicos, los Mailables y las Notificaciones, que permiten enviar el mismo mensaje a través de correo electrónico, SMS y otros canales. A partir de estas mejoras, Laravel 5.4 incluye un nuevo sistema Markdown para crear plantillas de correo electrónico. Esta característica implementa el analizador Parsedown con Markdown Extra para que se puedan usar tablas en los correos.

Mejoras en las rutas

Otra característica nueva es la capacidad de usar sintaxis fluida para definir una ruta con nombre o un middleware:

Route::name('profile')->get('user/{id}/profile', function ($id) {
    // some closure action...
});

Route::name('users.index')->middleware('auth')->get('users', function () {
    // some closure action...
});

Route::middleware('auth')->prefix('api')->group(function () {
    // register some routes...
});

Route::middleware('auth')->resource('photo', 'PhotoController');

Otras nuevas características

  • Nuevo auxiliar de reintento.
  • Nuevo ayudante de array_wrap.
  • Se agregó una página de error 503 predeterminada.
  • Cambio a la notación ::class a través del núcleo.
  • Nombres añadidos a las rutas de restablecimiento de contraseña.
  • Soporte para PhpRedis.
  • Validadores IPv4 e IPv6.
  • La validación date_format es ahora más precisa.

Actualizar a Laravel 5.4

La documentación oficial incluye una guía de actualización completa, y trae consigo algunos cambios que se deben tener en cuenta. Laravel Tinker se ha convertido en un paquete autónomo, y la instalación es muy simple:

composer require laravel/tinker

Cuando termine, debe agregar el proveedor de servicios al archivo config/app.php:


Las pruebas existentes que utilizan el kit de navegador necesitará migrarlas a Laravel Dusk o bien incluir el paquete más antiguo:

```composer require laravel/browser-kit-testing --dev

Para obtener la última versión, modifique el archivo composer.json y cambie la dependencia laravel/framework a 5.4.