Estamos actualizando el sitio. Durante unos días es posible que veas fallos de diseño o de traducción. La documentación sigue disponible: si una página se ve mal, recárgala más tarde.

Inicio Laravel 10.x Ciclo de Vida de la Solicitud

Ciclo de Vida de la Solicitud

10.x 7 de mar. de 2026

#Introducción

Cuando usa cualquier herramienta en el "mundo real", se siente más seguro si entiende cómo funciona esa herramienta. El desarrollo de aplicaciones no es diferente. Cuando comprende cómo funcionan sus herramientas de desarrollo, se siente más cómodo y confiado usándolas.

El objetivo de este documento es ofrecerle una buena visión general de alto nivel sobre cómo funciona el framework Laravel. Al conocer mejor el framework en su conjunto, todo parece menos "mágico" y tendrá más confianza al construir sus aplicaciones. Si no entiende todos los términos de inmediato, ¡no se desanime! Simplemente trate de captar una idea básica de lo que está sucediendo, y su conocimiento crecerá a medida que explore otras secciones de la documentación.

#Descripción general del ciclo de vida

#Primeros pasos

El punto de entrada para todas las solicitudes a una aplicación Laravel es el archivo public/index.php. Todas las solicitudes son dirigidas a este archivo por la configuración de su servidor web (Apache / Nginx). El archivo index.php no contiene mucho código. Más bien, es un punto de partida para cargar el resto del framework.

El archivo index.php carga la definición del autoloader generado por Composer y luego obtiene una instancia de la aplicación Laravel desde bootstrap/app.php. La primera acción que realiza Laravel es crear una instancia de la aplicación / service container.

#Kernels HTTP / Consola

Luego, la solicitud entrante se envía al kernel HTTP o al kernel de consola, dependiendo del tipo de solicitud que esté ingresando a la aplicación. Estos dos kernels sirven como el punto central por donde fluyen todas las solicitudes. Por ahora, enfoquémonos solo en el kernel HTTP, que se encuentra en app/Http/Kernel.php.

El kernel HTTP extiende la clase Illuminate\Foundation\Http\Kernel, que define un arreglo de bootstrappers que se ejecutarán antes de que la solicitud sea procesada. Estos bootstrappers configuran el manejo de errores, la configuración de registros, detectan el entorno de la aplicación y realizan otras tareas que deben completarse antes de que la solicitud sea realmente manejada. Normalmente, estas clases gestionan la configuración interna de Laravel que usted no necesita preocuparse.

El kernel HTTP también define una lista de middleware HTTP que todas las solicitudes deben atravesar antes de ser manejadas por la aplicación. Estos middleware gestionan la lectura y escritura de la sesión HTTP, determinan si la aplicación está en modo mantenimiento, verifican el token CSRF, y más. Hablaremos más sobre estos pronto.

La firma del método handle del kernel HTTP es bastante simple: recibe un Request y devuelve un Response. Piense en el kernel como una gran caja negra que representa toda su aplicación. Le envía solicitudes HTTP y le devuelve respuestas HTTP.

#Proveedores de servicios

Una de las acciones de arranque más importantes del kernel es cargar los service providers de su aplicación. Los proveedores de servicios son responsables de arrancar todos los diversos componentes del framework, como la base de datos, la cola, la validación y los componentes de ruteo. Todos los proveedores de servicios de la aplicación están configurados en el arreglo providers del archivo de configuración config/app.php.

Laravel recorrerá esta lista de proveedores e instanciará cada uno de ellos. Después de instanciar los proveedores, se llamará al método register en todos ellos. Luego, una vez que todos los proveedores hayan sido registrados, se llamará al método boot en cada proveedor. Esto es para que los proveedores de servicios puedan depender de que todas las vinculaciones del contenedor estén registradas y disponibles cuando se ejecute su método boot.

Prácticamente todas las características principales que ofrece Laravel son arrancadas y configuradas por un proveedor de servicios. Dado que arrancan y configuran tantas características del framework, los proveedores de servicios son el aspecto más importante de todo el proceso de arranque de Laravel.

#Ruteo

Uno de los proveedores de servicios más importantes en su aplicación es App\Providers\RouteServiceProvider. Este proveedor carga los archivos de rutas contenidos en el directorio routes de su aplicación. ¡Adelante, abra el código del RouteServiceProvider y vea cómo funciona!

Una vez que la aplicación ha sido arrancada y todos los proveedores de servicios han sido registrados, la Request se entrega al router para su despacho. El router despachará la solicitud a una ruta o controlador, además de ejecutar cualquier middleware específico de la ruta.

Los middleware proporcionan un mecanismo conveniente para filtrar o examinar las solicitudes HTTP que entran a su aplicación. Por ejemplo, Laravel incluye un middleware que verifica si el usuario de su aplicación está autenticado. Si el usuario no está autenticado, el middleware redirigirá al usuario a la pantalla de inicio de sesión. Sin embargo, si el usuario está autenticado, el middleware permitirá que la solicitud continúe hacia la aplicación. Algunos middleware se asignan a todas las rutas dentro de la aplicación, como los definidos en la propiedad $middleware de su kernel HTTP, mientras que otros solo se asignan a rutas o grupos de rutas específicos. Puede aprender más sobre middleware leyendo la documentación completa de middleware.

Si la solicitud pasa a través de todos los middleware asignados a la ruta coincidente, se ejecutará el método de la ruta o del controlador y la respuesta devuelta por dicho método será enviada de regreso a través de la cadena de middleware de la ruta.

#Finalizando

Una vez que el método de la ruta o del controlador devuelve una respuesta, esta viajará de regreso a través del middleware de la ruta, dando a la aplicación la oportunidad de modificar o examinar la respuesta saliente.

Finalmente, una vez que la respuesta viaja de regreso a través del middleware, el método handle del kernel HTTP devuelve el objeto de respuesta y el archivo index.php llama al método send en la respuesta devuelta. El método send envía el contenido de la respuesta al navegador web del usuario. ¡Hemos terminado nuestro recorrido por todo el ciclo de vida de la solicitud en Laravel!

#Enfoque en los proveedores de servicios

Los proveedores de servicios son realmente la clave para arrancar una aplicación Laravel. Se crea la instancia de la aplicación, se registran los proveedores de servicios y la solicitud se entrega a la aplicación arrancada. ¡Es realmente así de simple!

Tener un conocimiento firme de cómo se construye y arranca una aplicación Laravel a través de los proveedores de servicios es muy valioso. Los proveedores de servicios predeterminados de su aplicación se almacenan en el directorio app/Providers.

Por defecto, el AppServiceProvider está bastante vacío. Este proveedor es un excelente lugar para agregar el arranque propio de su aplicación y las vinculaciones del service container. Para aplicaciones grandes, puede que desee crear varios proveedores de servicios, cada uno con un arranque más granular para servicios específicos usados por su aplicación.