Kila request ya Laravel huingia kupitia front controller mmoja, public/index.php, huendeshwa na HTTP Kernel kupitia rundo la na kwenda , na hurejesha — baada yake middleware ya huendeshwa.
Responsepublic/index.php ── autoload + bootstrap app
▼
HTTP Kernel::handle($request)
▼
Bootstrappers ── env, config, providers (register + boot)
▼
Global middleware ── (TrustProxies, HandleCors, ...)
▼
Router dispatch ── linganisha route
▼
Route / group middleware ── (auth, throttle, verified, ...)
▼
Controller (au closure) ── mantiki yako → hurejesha Response
▼
Response ──▶ client
▼
Kernel::terminate ── terminable middleware (mfano hifadhi session, logging)
index.php hupakia Composer autoload na kufanya bootstrap ya container ya application.Request na kuendesha bootstrappers: kupakia env + config, kusajili na boot service providers (hapa ndipo framework na bindings zako huunganishwa).auth, throttle, verified) huendeshwa kabla ya controller; kila moja inaweza kukatiza.Response (view, JSON, redirect). Mantiki ya "baada" ya middleware huendeshwa response inaporudi nje.Kernel::terminate huendesha terminable middleware kwa kazi zilizoahirishwa.// app/Http/Middleware/Timing.php → 3/5. middleware
public function handle($request, Closure $next)
{
$request->attributes->set('started', microtime(true));
$response = $next($request); // pitisha kwa tabaka linalofuata / controller
$response->headers->set('X-Time', '...'); // mantiki ya "baada"
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));
}
Mzunguko wa maisha wa Laravel umejengwa kuzunguka service container na middleware pipeline, kwa hivyo kujua mpangilio — bootstrap/providers, kisha global middleware, kisha routing, kisha route middleware, kisha controller, kisha terminate — hukuambia hasa mahali auth, rate limiting, CORS, na usafishaji vinapokaa. Hueleza kwa nini service lazima ibind katika provider kabla ya kuinjectwa, kwa nini throttle hukataa request kabla ya controller yako kuendeshwa, na jinsi ya kuahirisha kazi ya polepole kwenda terminable middleware ili mtumiaji asisubiri.
Maktaba ya maswali ya mahojiano ya IT yenye majibu ya kina — kutoka Junior hadi Senior.
Changia