Laravel 10

Veamos las novedades de Laravel 10 tras varios meses en construcción

Laravel 10
Photo by Scott Hewitt / Unsplash

Laravel 10 ya ha salido a la luz después de muchos meses in the making y tiene cosas muy interesantes, como veremos a continuación:

Versión mínima de PHP para Laravel 10

Desde Laravel 10, la versión mínima de PHP soportada es PHP 8.1

Tipado en los stubs

A partir de ahora, gracias a Nuno Maduro, todos los comandos make:{whatever} que ejecutemos nos devolverán ficheros con el tipado preparado para aprovechar las últimas mejoras de PHP. Esto nos permite también que los ficheros sean más pequeños ya que se eliminan los Docblocks que contenían anteriormente.

Procesos

Hasta ahora, cuando querías ejecutar procesos de consola desde tu aplicación Laravel, tenías que usar una clase de Symfony que, aunque no estaba mal, a mí me resultaba muy verbosa.

A partir de ahora, Laravel incluye la facade Process, que nos permite ejecutar uno o varios procesos simultáneamente y recoger sus resultados:

use Illuminate\Support\Facades\Process;
 
$result = Process::run('ls -la');
 
return $result->output();

O, para ejecutar múltiples simultáneos:

use Illuminate\Process\Pool;
use Illuminate\Support\Facades\Process;
 
[$first, $second, $third] = Process::concurrently(function (Pool $pool) {
    $pool->command('cat first.txt');
    $pool->command('cat second.txt');
    $pool->command('cat third.txt');
});
 
return $first->output();

Test profiling

Otra funcionalidad muy útil añadida por Nuno Maduro, y es que ahora al ejecutar los tests podemos ver cuánto tarda cada test en ejecutarse, y ver un listado de los tests más lentos:

php artisan test --profile
Imagen que muestra una consola con los 10 tests más lentos al ejecutar el comando anterior

Otras novedades

Estas no son las únicas novedades, sin embargo, sí que son las que consideré más relevantes. Para verlas todas puedes entrar en las release notes de Laravel, donde está todo mucho más detallado.