
Laravel, một framework PHP phổ biến, có một vòng đời (life cycle) riêng cho mỗi request. Hãy cùng xem qua các giai đoạn chính trong vòng đời của một request trong Laravel:
- Entry Point (Điểm vào)
Tất cả các requests đều đi qua file public/index.php
:
<?php
use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = $kernel->handle(
$request = Request::capture()
)->send();
$kernel->terminate($request, $response);
- Autoloading
Composer’s autoloader được load.
- Create Application Instance
Một instance của ứng dụng Laravel được tạo ra.
- Kernel
HTTP Kernel hoặc Console Kernel được tạo ra, tùy thuộc vào loại request.
- Service Providers
public function register()
{
//
}
public function boot()
{
//
}
Service Providers được đăng ký (register) và khởi động (boot).
- Middleware
Request đi qua global middleware:
protected $middleware = [
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
- Routing
Router xác định route phù hợp và chạy route middleware:
Route::get('/user', 'UserController@index')->middleware('auth');
- Controller
Controller xử lý request và trả về response:
public function index()
{
return view('users.index', ['users' => User::all()]);
}
- Response
Response được gửi trở lại cho client.
- Termination
Sau khi response được gửi, các termination tasks được thực hiện:
$kernel->terminate($request, $response);
Hiểu rõ về vòng đời này sẽ giúp bạn can thiệp vào đúng thời điểm trong quá trình xử lý request, ví dụ như đăng ký service providers, thêm middleware, hoặc xử lý logic trong controllers.
Danh mục
Bài viết liên quan

Hiển thị giá trị trong Blade
Author: | ADMIN |
---|

Layout: @include, @extends, @section, @yield
Author: | ADMIN |
---|

Blade Components
Author: | ADMIN |
---|

Auth Basics
Author: | ADMIN |
---|
Bài viết khác

Blade Basics
Author: | ADMIN |
---|

9 Mẹo Hữu Ích Khi Sử Dụng Blade Trong Laravel
Author: | ADMIN |
---|

Hiển thị giá trị trong Blade
Author: | ADMIN |
---|