Cada petición de Laravel entra a través de un único front controller, public/index.php, es conducida por el a través de una pila de y el hasta un , y devuelve una — tras lo cual se ejecuta el middleware .
Cada petición de Laravel entra a través de un único front controller, public/index.php, es conducida por el a través de una pila de y el hasta un , y devuelve una — tras lo cual se ejecuta el middleware .
Responsepublic/index.php ── autoload + bootstrap de la app
▼
HTTP Kernel::handle($request)
▼
Bootstrappers ── env, config, providers (register + boot)
▼
Global middleware ── (TrustProxies, HandleCors, ...)
▼
Router dispatch ── coincide route
▼
Route / group middleware ── (auth, throttle, verified, ...)
▼
Controller (or closure) ── tu lógica → devuelve una Response
▼
Response ──▶ client
▼
Kernel::terminate ── terminable middleware (p. ej. guardar sesión, logging)
index.php carga el autoload de Composer y hace bootstrap del contenedor de la aplicación.Request y ejecuta los bootstrappers: cargar env + config, registrar y arrancar (boot) los service providers (aquí es donde el framework y tus bindings se conectan).auth, throttle, verified) se ejecuta antes del controlador; cada uno puede cortocircuitar.Response (view, JSON, redirección). La lógica "after" del middleware se ejecuta mientras la respuesta burbujea de vuelta hacia fuera.Kernel::terminate ejecuta el middleware terminable para trabajo diferido.// app/Http/Middleware/Timing.php → 3/5. middleware
public function handle($request, Closure $next)
{
$request->attributes->set('started', microtime(true));
$response = $next($request); // pasa a la siguiente capa / controlador
$response->headers->set('X-Time', '...'); // lógica "after"
return $response;
}
// routes/web.php → 4. routing (+ middleware)
Route::get('/items/{id}', [ItemController::class, 'show'])->middleware('auth');
// app/Http/Controllers/ItemController.php → 6. controlador
public function show(int $id)
{
return response()->json(Item::findOrFail($id));
}
El ciclo de vida de Laravel está construido en torno al service container y la middleware pipeline, por lo que conocer el orden — bootstrap/providers, luego global middleware, luego routing, luego route middleware, luego controlador, luego terminate — te dice exactamente dónde encajan la auth, el rate limiting, CORS y la limpieza. Explica por qué un servicio debe estar registrado (bound) en un provider antes de inyectarse, por qué throttle rechaza una petición antes de que tu controlador se ejecute, y cómo diferir trabajo lento a middleware terminable para no dejar al usuario esperando.
Una biblioteca de preguntas de entrevista de IT con respuestas detalladas — de Junior a Senior.
Donar