Elke Laravel-request komt binnen via één enkele front controller, public/index.php, wordt door de HTTP Kernel aangedreven door een -stack en de naar een , en geeft een terug — waarna middleware draait.
Elke Laravel-request komt binnen via één enkele front controller, public/index.php, wordt door de HTTP Kernel aangedreven door een -stack en de naar een , en geeft een terug — waarna middleware draait.
Responsepublic/index.php ── autoload + bootstrap de app
▼
HTTP Kernel::handle($request)
▼
Bootstrappers ── env, config, providers (register + boot)
▼
Global middleware ── (TrustProxies, HandleCors, ...)
▼
Router dispatch ── match route
▼
Route / group middleware ── (auth, throttle, verified, ...)
▼
Controller (of closure) ── jouw logica → geeft een Response terug
▼
Response ──▶ client
▼
Kernel::terminate ── terminable middleware (bijv. sessie opslaan, logging)
index.php laadt de Composer-autoload en bootstrapt de applicatiecontainer.Request en draait de bootstrappers: env + config laden, service providers registreren en booten (dit is waar het framework en jouw bindings worden aangesloten).auth, throttle, verified) draait vóór de controller; elk ervan kan kortsluiten.Response terug (view, JSON, redirect). De "na"-logica van middleware draait terwijl de response weer naar buiten borrelt.Kernel::terminate de terminable middleware voor uitgesteld werk.// app/Http/Middleware/Timing.php → 3/5. middleware
public function handle($request, Closure $next)
{
$request->attributes->set('started', microtime(true));
$response = $next($request); // geef door aan volgende laag / controller
$response->headers->set('X-Time', '...'); // "na"-logica
return $response;
}
// routes/web.php → 4. routing (+ middleware)
Route::get('/items/{id}', [ItemController::class, 'show'])->middleware('auth');
// app/Http/Controllers/ItemController.php → 6. controller
public function show(int $id)
{
return response()->json(Item::findOrFail($id));
}
De lifecycle van Laravel is opgebouwd rond de service container en de middleware pipeline, dus het kennen van de volgorde — bootstrap/providers, dan global middleware, dan routing, dan route middleware, dan controller, dan terminate — vertelt je precies waar auth, rate limiting, CORS en cleanup thuishoren. Het verklaart waarom een service in een provider gebonden moet zijn voordat hij geïnjecteerd wordt, waarom throttle een request afwijst voordat jouw controller draait, en hoe je traag werk kunt uitstellen naar terminable middleware zodat de gebruiker niet hoeft te wachten.
Een bibliotheek met IT-sollicitatievragen met gedetailleerde antwoorden — van Junior tot Senior.
Doneren