Laravel Request Lifecycle: সম্পূর্ণ প্রক্রিয়া
Laravel Request Lifecycle: সম্পূর্ণ প্রক্রিয়া ব্যাখ্যা
Laravel Request Lifecycle হলো একটি HTTP রিকুয়েস্ট Laravel অ্যাপ্লিকেশনে প্রবেশ করা থেকে রেস্পন্স পাওয়া পর্যন্ত সম্পূর্ণ প্রক্রিয়া। এটি Laravel-এর সবচেয়ে গুরুত্বপূর্ণ কনসেপ্টগুলির মধ্যে একটি।
Lifecycle-এর মূল ধাপসমূহ:-
ধাপে ধাপে বিস্তারিত ব্যাখ্যা
১. রিকুয়েস্ট রিসিভ (public/index.php)
সব রিকুয়েস্ট প্রথমে
public/index.phpফাইলে প্রবেশ করেঅটোলোডার সেটআপ করে এবং Laravel অ্যাপ্লিকেশন বুটস্ট্র্যাপ শুরু করে
// public/index.php $app = require_once __DIR__.'/../bootstrap/app.php';
২. কার্নেল ইনিশিয়ালাইজেশন
HTTP কার্নেল বা কনসোল কার্নেল ইনস্ট্যান্ট হয়
সার্ভিস প্রোভাইডার রেজিস্ট্রেশন এবং বুটিং হয়
// bootstrap/app.php $app->singleton( Illuminate\Contracts\Http\Kernel::class, App\Http\Kernel::class );
৩. সার্ভিস প্রোভাইডার প্রক্রিয়া
config/app.php-এ রেজিস্টার্ড সকল প্রোভাইডারেরregister()মেথড কল হয়এরপর সকল প্রোভাইডারের
boot()মেথড কল হয়
৪. রাউটিং
রিকুয়েস্টকে উপযুক্ত রাউটে ডিসপ্যাচ করা হয়
রাউট প্যারামিটার রেজলভ করা হয়
// app/Http/Kernel.php protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, // ... ], ];
৫. কন্ট্রোলার/ক্লোজার এক্সিকিউশন
রাউট ম্যাচ হওয়ার পর সংশ্লিষ্ট কন্ট্রোলার মেথড বা ক্লোজার কল হয়
মডেল থেকে ডেটা ফেচ করা, ভ্যালিডেশন ইত্যাদি সম্পন্ন হয়
৬. রেস্পন্স প্রস্তুতকরণ
কন্ট্রোলার থেকে রিটার্ন করা ভ্যালু রেস্পন্সে কনভার্ট হয়
ভিউ রেন্ডারিং বা JSON রেস্পন্স জেনারেট করা হয়
৭. রেস্পন্স সেন্ড
ফাইনাল রেস্পন্স ক্লায়েন্টের কাছে পাঠানো হয়
মেমোরি ক্লিনআপ এবং সেশন ক্লোজ করা হয়
Lifecycle-এর গুরুত্বপূর্ণ কম্পোনেন্টস
HTTP Kernel:
app/Http/Kernel.phpService Providers:
app/Providers/Router:
routes/web.php/api.phpMiddleware: রিকুয়েস্ট/রেস্পন্স মডিফাই করে
বাস্তব উদাহরণ
যখন আপনি https://example.com/users এ রিকুয়েস্ট করেন:
রিকুয়েস্ট
public/index.php-এ যায়কার্নেল ইনিশিয়ালাইজ হয়
ডাটাবেস, ভ্যালিডেশন প্রোভাইডার লোড হয়
রাউট চেক করে দেখে
Route::get('/users', [UserController::class, 'index']);UserController@indexমেথড কল হয়ডাটাবেস থেকে ইউজার লিস্ট ফেচ করে
ভিউ রেন্ডার করে বা JSON রিটার্ন করে
ব্রাউজারে রেস্পন্স দেখায়
Performance Optimization টিপস
ডিফার্ড প্রোভাইডার ব্যবহার করুন (শুধু প্রয়োজনীয় প্রোভাইডার লোড হবে)
রাউট ক্যাশিং ব্যবহার করুন (
php artisan route:cache)কনফিগ ক্যাশিং ব্যবহার করুন (
php artisan config:cache)অপ্রয়োজনীয় মিডলওয়্যার এড়িয়ে চলুন
No comments