Laravel es un destacado framework PHP conocido por su elegante sintaxis, sus potentes funciones y sus herramientas fáciles de usar para los desarrolladores. Su arquitectura soporta un desarrollo web PHP eficaz, ayudándote a crear aplicaciones escalables y mantenibles.
En Kinsta, estamos comprometidos a mantenernos a la vanguardia y adoptar las últimas tecnologías. Y teniendo amplia experiencia con aplicaciones Laravel, estamos entusiasmados con los avances incluidos en su última versión.
Laravel 11 introduce varias características transformadoras que impulsan la productividad de los desarrolladores y mejoran el rendimiento de las aplicaciones. Desde la optimización de la configuración y la depuración hasta la mejora de la flexibilidad, esta versión mejora la eficiencia del desarrollo y te ayuda a crear aplicaciones más robustas. ¡Vamos a sumergirnos!
La renovada estructura de directorios de Laravel 11
Laravel 11 incluye una estructura de directorios rediseñada que mejora la eficiencia del desarrollo. Este cambio simplifica la organización de los archivos del proyecto y reduce el código repetitivo incluido en versiones anteriores de Laravel.
La eliminación de ciertos directorios, como app/Exceptions y app/Http/Middleware, hace que la estructura de Laravel 11 sea más limpia que la de versiones anteriores. Por ejemplo, las versiones anteriores incluyen nueve middleware, muchos de los cuales es poco probable que personalices. Eliminar este directorio minimiza la voluminosidad del código y te permite centrarte en los aspectos esenciales de tu base de código. Y si es necesario personalizar el middleware, puedes hacerlo a través de App/ServiceProvider.
Laravel 11 también elimina la carpeta config, cambiando la forma de gestionar las configuraciones. Volveremos a hablar de este cambio más adelante.
Las ventajas de la nueva estructura de directorios de Laravel incluyen:
- Reutilización del código — Con menos código repetitivo, puedes centrarte en crear componentes modulares y reutilizables. Esta capacidad de reutilizar funcionalidades comunes en toda la aplicación promueve un proceso de desarrollo más eficiente.
- Mejor intercambio de conocimientos — Una estructura de directorios menos compleja facilita el intercambio de conocimientos entre los miembros del equipo y las personas que incorporan la tecnología. Una navegación más sencilla por la estructura del producto hace que la colaboración sea más fluida y eficaz.
- Reducción del tiempo de programación — Al eliminar directorios y archivos innecesarios, los desarrolladores pasan menos tiempo trabajando con código repetitivo innecesario. Una programación, depuración y pruebas más rápidas conducen a una mayor productividad.
Una estructura de directorios racionalizada ofrece un proceso de desarrollo refinado y permite una implementación más rápida de características y funcionalidades.
Flexibilidad mejorada con model casts
Laravel 11 está haciendo la transición a model casts basados en métodos, cambiando la forma de manejar los atributos dentro de un modelo Laravel Eloquent — una representación de una tabla de base de datos que actúa como intermediario para las interacciones con esa tabla.
En versiones anteriores de Laravel, los atributos se definían mediante un array properties
. Con Laravel 11, especificas los model casts en un método llamado casts()
.
Esta transición a los métodos basados en model casts ofrece varias ventajas similares a las de los métodos o funciones de código. Una de las ventajas más significativas es la reutilización del código. Incluir la lógica de casting dentro de los métodos hace que tu código sea más modular y reutilizable. Y como el método casts()
delimita el casting de atributos, tu código es más legible y fácil de mantener.
También es importante señalar que Laravel 11 garantiza la compatibilidad con versiones anteriores. En consecuencia, puedes hacer una transición sin problemas de tus bases de código existentes para utilizar el enfoque actualizado de model casting de Laravel 11. Esta compatibilidad hace que adoptar Laravel 11 sea un proceso sencillo — especialmente si ya estás familiarizado con sus iteraciones anteriores.
Configuración simplificada
Como ya se ha mencionado, Laravel 11 supone un cambio en la gestión de la configuración. Consolida los ajustes de configuración en una única fuente: el archivo .env. Se trata de un cambio notable respecto a versiones anteriores de Laravel, que dispersaban las configuraciones en varios archivos.
Colocar las configuraciones únicamente en el archivo . env mejora sustancialmente la organización. También simplifica el flujo de trabajo de desarrollo, haciéndolo más intuitivo y eficiente.
Otra actualización importante relacionada con la configuración es la función de cascada, con la que puedes afinar tus configuraciones eliminando opciones innecesarias que no quieras personalizar. El resultado es un desarrollo más compacto.
El único archivo .env elimina la necesidad de múltiples archivos, almacenando en su lugar todas las configuraciones relevantes en un solo sitio. Sin embargo, si te parece que el archivo . env se está haciendo demasiado grande, puedes utilizar un comando para devolver el archivo de configuración al directorio config. Por ejemplo, php artisan config:publish auth
genera el archivo auth.php en el directorio config.
La posibilidad de recuperar configuraciones específicas es una gran ayuda para las organizaciones.
Experiencia de depuración mejorada con el nuevo trait Dumpable
El trait Dumpable
es una valiosa adición a Laravel 11. Te permite utilizar ayudas de depuración conocidas dentro de las clases, incluidos los métodos dd()
y dump()
. Estos métodos son fundamentales durante la depuración, ya que proporcionan información en tiempo real sobre un objeto o variable objetivo.
Ten en cuenta que es probable que el trait Dumpable
sustituya a los actuales métodos dd
y dump
en una infinidad de clases principales de Laravel, garantizando una experiencia de depuración coherente y cohesionada en todo el framework.
Innovaciones de Laravel 11 en la gestión de rutas
Laravel 11 mejora en gran medida las primeras versiones con una gestión de rutas consolidada. Reduce el número de archivos de ruta predeterminados de cuatro a dos: routes.php y console.php. Este cambio es impactante porque minimiza el código repetitivo y hace que el framework sea más intuitivo.
Es crucial tener en cuenta que si quieres incorporar rutas API a tu aplicación, este cambio significa que debes optar por ellas deliberadamente. Este mecanismo favorece una estructura de aplicación más limpia y adaptada, que sólo incluye rutas API cuando es necesario. Para generar el archivo api.php e integrar Laravel Sanctum, ejecuta el comando php artisan install:api
.
La difusión de eventos en Laravel 11 sigue un paradigma similar. Para activar la funcionalidad y crear el archivo channels.php, ejecuta &php artisan install:broadcasting
. Esto orquesta la configuración de los archivos y configuraciones esenciales, acelerando la integración de la difusión de eventos en las aplicaciones Laravel.
Estos cambios, en conjunto, favorecen la transición hacia una estructura de aplicación modular y personalizable. Dado que puedes optar por funciones específicas, Laravel 11 ofrece un enfoque más adaptado a la gestión de archivos de ruta que las versiones anteriores.
La evolución del kernel HTTP de Laravel
El kernel de Laravel ha sido un componente vital en el framework, actuando como punto de entrada para las peticiones HTTP y los comandos de terminal. Ha orquestado el flujo de estas peticiones, gestionando el stack de middleware, el enrutamiento y otros componentes esenciales que contribuyen a que la aplicación gestione las peticiones entrantes.
Laravel 11 elimina el kernel de Laravel. En su lugar, utiliza la clase Bootstrap/App
, que vincula interfaces esenciales al contenedor. Tras configurar los componentes necesarios, la clase Bootstrap/App
devuelve la instancia de la aplicación. Esta separación entre la creación de instancias y la ejecución de la aplicación y la gestión de las respuestas proporciona una arquitectura más modular.
Eliminar el kernel de Laravel es otro paso para minimizar el código repetitivo. Como la clase Bootstrap/App
se encarga de la configuración esencial, puedes centrarte en construir las funcionalidades básicas de tus aplicaciones. Una vez que se ejecuta una instancia de la aplicación, la clase Bootstrap/App
se encarga de gestionar las peticiones web necesarias, simplificando el proceso de desarrollo y promoviendo una base de código más organizada.
Migraciones por defecto consolidadas para mayor eficiencia
Con Laravel 11 llega una revisión de las migraciones por defecto. En las versiones anteriores, de 2014 a 2019, había numerosas migraciones por defecto repartidas en varios archivos. Mientras tanto, la última versión ha condensado estos archivos en sólo dos, ofreciendo a los desarrolladores una experiencia más organizada y fácil de usar.
Esta reducción de los archivos de migraciones por defecto simplifica el acceso y la gestión de las migraciones generadas, mejora la claridad de las estructuras de tus bases de datos y reduce posibles confusiones y errores.
Además, con una configuración de migraciones por defecto más limpia y sencilla, puedes dedicar más tiempo a centrarte en los requisitos específicos de tus proyectos, en lugar de lidiar con las complejidades de los archivos de migraciones repetitivos.
Las migraciones por defecto optimizadas de Laravel 11 contribuyen a una experiencia de desarrollo más fluida, reforzando la reputación del framework de priorizar la simplicidad y la facilidad de uso.
PHP 8.2: El nuevo estándar de Laravel 11
Otro cambio crucial de Laravel 11 es que establece PHP 8.2 como requisito mínimo. En Laravel 11, PHP 8.2 es el predeterminado, con PHP 8.3 en el horizonte. La alineación con los últimos avances en el ecosistema PHP garantiza que Laravel seguirá siendo compatible con las nuevas (y próximas) características y optimizaciones del lenguaje PHP.
Al ser compatible con las dos últimas versiones principales de PHP, Laravel 11 mejora el rendimiento, la seguridad y la experiencia del desarrollador. Hacer de PHP 8.2 el requisito mínimo asegura el futuro de tus proyectos y libera todo el potencial del lenguaje.
Resumen
Laravel 11 introduce actualizaciones significativas que prometen mejorar la experiencia de desarrollo para ti, tu equipo y la comunidad de desarrolladores en general. Optimizaciones de rendimiento mejoradas, mayor compatibilidad con las últimas versiones de PHP y funciones de flujo de trabajo agilizadas hacen que el desarrollo de PHP sea lo más fluido y eficiente posible.
Estas mejoras se traducen en flujos de trabajo de desarrollo más fluidos, mejor rendimiento de las aplicaciones y un proceso de desarrollo más eficiente en general. Las potentes funciones de nuestro servicio de Alojamiento de Aplicaciones, como el escalado automático, la infraestructura segura y el rendimiento mejorado con las máquinas más rápidas de Google Cloud Platform, proporcionan un entorno ideal para desplegar aplicaciones Laravel 11.
Estamos deseando ver qué aplicaciones creas con Laravel 11 y cómo utilizas Kinsta para hacer crecer tus aplicaciones Laravel.
Deja una respuesta