Se espera que la nueva versión del popular framework de PHP, Laravel 5.4, vea la luz de forma oficial a comienzos de 2017. Mientras tanto, van saliendo a escena nuevas características que incluirá esta nueva versión que tendrá como propósito mejorar ciertos aspectos para facilitar el desarrollo a los usuarios. A continuación, vamos a exponer algunas de los avances que el blog oficial de Laravel ha mostrado hasta el momento.

Archivos de lenguaje basados en JSON

Una de las solicitudes más demandadas en Laravel es introducir un mejor soporte para aplicaciones web multilingües. En versiones anteriores de Laravel, se pueden insertar líneas traducidas utilizando las funciones auxiliares trans () o trans_choice ():

trans('auth.verification_number_instructions')

Y después habría que incluir traducciones en todos los idiomas de tu proyecto, así que para el inglés por ejemplo, necesitarías un archivo resources/lang/en/auth.php que tenga este aspecto:

<?php

return [
    'auth.verification_number_instructions' => 'Please enter your 4-digit   
verification number:'
];

Para pequeños proyectos, el número de traducciones es limitado, por lo que no es difícil de manejar; sin embargo, para proyectos con mayor envergadura la cosa se complica. Por esa razón, Laravel 5.4 añadirá una nueva función para hacer más sencilla la traducción. Esta nueva función buscará un archivo resources/lang/en.json, lo descodificará y traerá el valor de traducción correspondiente en función del idioma elegido.

Con esta nueva característica los desarrolladores podrán utilizar código sencillo al escribir la aplicación, y aplazar la necesidad de gestionar las traducciones a una etapa posterior. El motivo principal de alojar las traducciones en los archivos JSON se debe al hecho de que este tipo de archivo es fácil de leer por los desarrolladores y por cualquier software.

Componentes y slots en Laravel Blade

En Laravel 5.4 existirá la posibilidad de agregar componentes y slots a plantillas Blade. Esta función fue inspirada por Vue.js y permite simplificar la construcción de elementos HTML en áreas reutilizables. La mayoría de las aplicaciones tienen un diseño master y sub vistas que lo extienden:

// layouts/app.blade.php
<!DOCTYPE html>
<html lang="en">
    <head>
    ...
    </head>
    <body>
    @yield('content')

---

// home.blade.php
@extends('layouts.app')
@section('content')
    <h1>Home Page</h1>
@endsection

Con esto conseguirá definir fácilmente el texto o el HTML que aparecerá dentro de los componentes $slot.

Mensajes de orden superior para las colecciones

Otra de las nuevas características es la que ha aportado el desarrollador @franzliedke. Esta se conoce como mensajes de “orden superior” para las colecciones, y la mejor forma de ver cómo funciona es a través de un ejemplo. Si tenemos una colección y queremos realizar una operación con cada uno de los elementos, deberíamos hacer lo siguiente:

$invoices->each(function($invoice) {
    $invoice->pay();
});

Sin embargo, con la nueva aportación el código que debemos escribir es este mucho más simple:

$invoices->each->pay(); 

Mejoras en las rutas

El año nuevo también traerá mejoras en las rutas de Laravel 5.4. En este caso habrá dos tipos de mejoras:

  • Mejoras en el caché de rutas. Permitirán hacer coincidir rutas en aplicaciones de gran tamaño para ver una mejora significativa.

  • Registro fluido de rutas. Antes, si querías definir una ruta con nombre o un middleware, lo harías así al final del cierre:

    
       Route::get(‘user/{id}/profile’, function ($id) {
       //
    })->name(‘profile’);
    

    Ahora se puede hacer de la siguiente forma:

    Route::name('profile')->get('user/{id}/profile', function ($id) {
       // acciones a realizar
     }); 

Utilización de Markdown en los correos electrónicos

Después de introducir los Mailables y las notificaciones en la anterior versión 5.3, Laravel introduce la opción de escribir los correos electrónicos con el lenguaje de marcado ligero para darle un formato sencillo tanto de escribir como de leer. Si quiere ampliar información sobre esta nueva característica, le recomendamos que visite el artículo que realizamos sobre ella en este artículo.

No podíamos irnos sin recordarte que puedes acceder a algunos de nuestros cursos de forma 100% gratuita para que consigas formarte y crecer como un profesional IT.

¿Quieres aprender más sobre Laravel ?

Regístrate Gratis