Svaki Laravel zahtjev ulazi kroz jedan jedini front controller, public/index.php, vodi ga HTTP Kernel kroz stog middlewarea i do , te vraća — nakon čega se izvršava middleware.
Svaki Laravel zahtjev ulazi kroz jedan jedini front controller, public/index.php, vodi ga HTTP Kernel kroz stog middlewarea i do , te vraća — nakon čega se izvršava middleware.
Responsepublic/index.php ── autoload + bootstrap aplikacije
▼
HTTP Kernel::handle($request)
▼
Bootstrappers ── env, config, providers (register + boot)
▼
Globalni middleware ── (TrustProxies, HandleCors, ...)
▼
Router dispatch ── uskladi route
▼
Route / group middleware ── (auth, throttle, verified, ...)
▼
Controller (ili closure) ── tvoja logika → vraća Response
▼
Response ──▶ klijent
▼
Kernel::terminate ── terminable middleware (npr. spremanje sessiona, logging)
index.php učitava Composer autoload i bootstrappa aplikacijski container.Request i izvršava bootstrappere: učitava env + config, registrira i boota service providere (ovdje se framework i tvoji bindingovi ožiče).auth, throttle, verified) izvršava se prije controllera; svaki može presjeći tok.Response (view, JSON, redirect). Logika middlewarea "nakon" izvršava se dok response izranja natrag van.Kernel::terminate izvršava terminable middleware za odgođeni posao.// app/Http/Middleware/Timing.php → 3/5. middleware
public function handle($request, Closure $next)
{
$request->attributes->set('started', microtime(true));
$response = $next($request); // proslijedi sljedećem sloju / controlleru
$response->headers->set('X-Time', '...'); // logika "nakon"
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));
}
Laravelov životni ciklus izgrađen je oko service containera i middleware pipelinea, pa poznavanje redoslijeda — bootstrap/providers, zatim globalni middleware, zatim routing, zatim route middleware, zatim controller, zatim terminate — govori ti točno gdje pripadaju auth, ograničavanje brzine, CORS i čišćenje. Objašnjava zašto servis mora biti bindan u provideru prije nego što se injecta, zašto throttle odbija zahtjev prije nego što se tvoj controller pokrene te kako odgoditi spor posao na terminable middleware da korisnik ne mora čekati.
Knjižnica IT pitanja za razgovore za posao s detaljnim odgovorima — od Juniora do Seniora.
Doniraj