Κάθε request στο Laravel εισέρχεται μέσα από έναν μοναδικό front controller, public/index.php, οδηγείται από το μέσα από μια στοίβα και τον σε έναν , και επιστρέφει ένα — μετά το οποίο τρέχει το middleware.
Κάθε request στο Laravel εισέρχεται μέσα από έναν μοναδικό front controller, public/index.php, οδηγείται από το μέσα από μια στοίβα και τον σε έναν , και επιστρέφει ένα — μετά το οποίο τρέχει το middleware.
Responsepublic/index.php ── autoload + bootstrap της εφαρμογής
▼
HTTP Kernel::handle($request)
▼
Bootstrappers ── env, config, providers (register + boot)
▼
Global middleware ── (TrustProxies, HandleCors, ...)
▼
Router dispatch ── αντιστοίχιση route
▼
Route / group middleware ── (auth, throttle, verified, ...)
▼
Controller (or closure) ── η λογική σου → επιστρέφει ένα Response
▼
Response ──▶ client
▼
Kernel::terminate ── terminable middleware (π.χ. αποθήκευση session, logging)
index.php φορτώνει το Composer autoload και κάνει bootstrap τον container της εφαρμογής.Request και τρέχει τους bootstrappers: φορτώνει env + config, κάνει register και boot τους service providers (εδώ συνδέονται το framework και τα δικά σου bindings).auth, throttle, verified) τρέχει πριν τον controller· καθένα μπορεί να διακόψει.Response (view, JSON, redirect). Η λογική "μετά" του middleware τρέχει καθώς η απόκριση αναδύεται πάλι προς τα έξω.Kernel::terminate τρέχει terminable middleware για αναβαλλόμενη εργασία.// app/Http/Middleware/Timing.php → 3/5. middleware
public function handle($request, Closure $next)
{
$request->attributes->set('started', microtime(true));
$response = $next($request); // πέρασμα στο επόμενο επίπεδο / controller
$response->headers->set('X-Time', '...'); // λογική "μετά"
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));
}
Ο κύκλος ζωής του Laravel είναι χτισμένος γύρω από το service container και το middleware pipeline, οπότε η γνώση της σειράς — bootstrap/providers, μετά global middleware, μετά routing, μετά route middleware, μετά controller, μετά terminate — σου λέει ακριβώς πού ανήκουν το auth, το rate limiting, το CORS και το cleanup. Εξηγεί γιατί μια υπηρεσία πρέπει να γίνει bound σε έναν provider πριν γίνει inject, γιατί το throttle απορρίπτει ένα request πριν τρέξει ο controller σου, και πώς να αναβάλεις αργή εργασία σε terminable middleware ώστε να μην αφήνεις τον χρήστη να περιμένει.
Μια βιβλιοθήκη ερωτήσεων συνέντευξης IT με αναλυτικές απαντήσεις — από Junior έως Senior.
Δωρεά