¿Cuál es la última versión de Laravel?
Jorge García
Comparte:
Comparte:
En la actualidad, la última versión oficial de Laravel es la 11, y fue lanzada el 12 de marzo de 2024.
Aquí te muestro algunas de las novedades que tenemos hasta el momento.
Aquí te muestro algunas de las novedades que tenemos hasta el momento.
Si prefieres explorar las novedades de Laravel 11 en video te recomiendo ir aquí
Estructura de carpetas optimizada
En una instalación nueva de Laravel 11, el recuento de archivos ha disminuido en aproximadamente ~69 archivos.
Los controladores no se extienden a nada por defecto
La carpeta
La carpeta
middleware
tampoco existeActualmente, Laravel incluye nueve middleware, y muchos de ellos probablemente nunca personalizarías.
Sin embargo, si deseas personalizarlos, lo puedes hacer en el
Sin embargo, si deseas personalizarlos, lo puedes hacer en el
App/ServiceProvider
. Por ejemplo:public function boot(): void
{
EncryptCookies::except(['some_cookie']);
}
Se removió la carpeta Http/Kernel
La mayoría de modificaciones que solías hacer en el Kernel ahora las puedes hacer en el archivo
Bootstrap/App
.return Application::configure()
->withProviders ()
-›withRouting(
web: __DIR__.'/../routes/web.php'
commands: __DIR__.'/../routes/console.php',
)
->withMiddleware(function(Middleware Smiddleware) {
$middleware->web(append: LaraconMiddleware::class):
})
Cambios en Model casts
Ahora, los Model Casts se definen como un método en lugar de una propiedad.
Cuando se definen como un método, podemos hacer otras cosas, como llamar a otros métodos directamente desde las conversiones.
Aquí tienes un ejemplo usando una nueva colección
Cuando se definen como un método, podemos hacer otras cosas, como llamar a otros métodos directamente desde las conversiones.
Aquí tienes un ejemplo usando una nueva colección
AsEnumCollection
de Laravel 11:
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'options'=› AsEnumCollection::of(UserOption::class),
];
}
Nuevo Trait Dumpable
This aims to streamline the core of the framework since multiple classes currently have "dd" or "dump" methods. Plus you can use this Dumpable trait in your own classes:
class Stringable implements JsonSerializable, ArrayAccess
{
use Conditionable, Dumpable, Macroable, Tappable;
str('foo')->dd();
str('foo')->dump();
Cambios en los archivos de configuración
Laravel cuenta con una gran cantidad de archivos de configuración, pero Laravel 11 los ha eliminado por completo.
El archivo
Para complementar esto, se ha introducido un nuevo comando de artisan
El archivo
.env
se ha ampliado para incluir todas las opciones que mayormente se deben configurar.Para complementar esto, se ha introducido un nuevo comando de artisan
config:publish
para que puedas recuperar cualquier configuración que desees. Nuevo método Once
Laravel 11 incluye un nuevo helper llamado "once" que garantiza que siempre obtendrás el mismo valor sin importar cuántas veces llames a un método de un objeto.
La función "once" es útil cuando tienes código que deseas asegurarte de que se ejecute solo una vez.
La función "once" es útil cuando tienes código que deseas asegurarte de que se ejecute solo una vez.
Migraciones predeterminadas simplificadas
Cuando inicias una nueva aplicación Laravel, viene con algunas migraciones predeterminadas de 2014 y 2019. Ahora, estas vendrán sin las fechas y se moverán a solo dos archivos.
Cambios en las rutas
Por defecto, solo habrá dos archivos de rutas,
Las rutas de la API ahora serán opcionales a través del comando
Lo mismo ocurre con el Broadcast WebSocket,
console.php
y web.php
.Las rutas de la API ahora serán opcionales a través del comando
php artisan install:api
, que te proporcionará el archivo de rutas de la API y Laravel Sanctum.Lo mismo ocurre con el Broadcast WebSocket,
php artisan install:broadcasting
.Nueva ruta UP
Laravel 11 incluirá una nueva ruta
/up
d que desencadenará el evento DiagnosingHealthEvent
para que puedas integrar con alguna monitorización del tiempo de actividad.Rotación de la APP_KEY
En versiones anteriores de Laravel, cambiar tu APP_KEY podía resultar en datos dañados en la base de datos.
Laravel 11 introduce una nueva rotación elegante que NO romperá los datos encriptados antiguos, utilizando una variable de entorno
Laravel 11 introduce una nueva rotación elegante que NO romperá los datos encriptados antiguos, utilizando una variable de entorno
APP_PREVIOUS_KEYS
que automáticamente volverá a encriptar los datos utilizando la nueva clave.Console Kernel removido
Se ha eliminado el Console/Kernel, y en su lugar podrás definir tus comandos de consola directamente en
outes/console.php
.Argumentos con nombre
Named arguments no están cubiertos por las pautas de compatibilidad hacia atrás de Laravel. Pueden optar por cambiar los nombres de los argumentos de las funciones cuando sea necesario para mejorar la base de código de Laravel. Al llamar a métodos de Laravel utilizando argumentos con nombre, se debe hacer con precaución y con la comprensión de que los nombres de los parámetros pueden cambiar en el futuro.
Límite de Eager Load
Laravel 11 integra el código detrás del paquete "eager load limit".
User::select('id', 'name')->with([
'articles' => fn($query) => $query->limit(5)
])->get();
¿Cuándo se lanzará Laravel 11?
No se ha establecido una fecha oficial, aparte de que será en el primer o segundo trimestre de 2024. En Laracon EU insinuaron que sería en la primera o segunda semana de marzo de 2024.
Soporte mínimo de PHP 8.2
Las aplicaciones de Laravel 11 requieren un mínimo de PHP 8.2. Si estás ejecutando una versión más antigua de PHP, ahora es un buen momento para actualizar.
Se requiere SQLite 3.35.0 o superior
Si utilizas una base de datos SQLite, entonces Laravel 11 requerirá SQLite 3.35.0 o superior.
Eliminación de Doctrine DBAL
Laravel ya no depende de Doctrine DBAL y ya no es necesario registrar tipos de Doctrine personalizados para la creación y alteración adecuadas de varios tipos de columnas que anteriormente requerían tipos personalizados.
Instalar Laravel 11
Laravel 11 aún no se ha lanzado, pero puedes comenzar a usarlo y probarlo ejecutando
laravel new
con la opción --dev
:laravel new projectname --dev
Política de soporte de Laravel
Para todas las versiones de Laravel, se proporcionan correcciones de errores durante 18 meses y correcciones de seguridad durante 2 años. Para todas las bibliotecas adicionales, incluido Lumen, solo la última versión principal recibe correcciones de errores.
Version PHP (*) Release Bug Fixes Until Security Fixes Until
Laravel 9 | 8.0 - 8.2 | February 8th, 2022 | August 8th, 2023 | February 6th, 2024
Laravel 10 | 8.1 - 8.2 | Q1 2023 | August 6th, 2024 | February 4th, 2025
Laravel 11 | 8.2 | Q1 2024 | August 5th, 2025 | February 3rd, 2026
Post original: https://laravel-news.com/laravel-11