Laravel 10
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
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.