Hướng dẫn Laravel 10 cho người mới: Routing trong Laravel 10
1. Routing là gì?
-
Routing trong Laravel là nơi định nghĩa các URL (đường dẫn) mà ứng dụng sẽ phản hồi.
-
Khi người dùng truy cập 1 URL, Laravel sẽ kiểm tra route tương ứng và gọi Controller / function xử lý.
👉 Các route được khai báo trong thư mục routes/:
-
web.php: cho website (trả về HTML, Blade template). -
api.php: cho API (trả về JSON). -
console.php: cho lệnh Artisan. -
channels.php: cho broadcast channel (WebSocket).
2. Route cơ bản
Mở file routes/web.php và thêm route:
use Illuminate\Support\Facades\Route;
//Route::get() → định nghĩa route GET.
Route::get('/', function () { //'/' → URL gốc (http://localhost:8000/)
//Function trả về string, view, hoặc JSON.
return 'Xin chào Laravel 10!';
});
👉 Các HTTP method hỗ trợ:
3. Route trả về View
4. Route có tham số
Tham số bắt buộc:
👉 Truy cập: http://localhost:8000/user/5 → hiển thị User ID: 5.
Tham số tùy chọn:
Route::get('/post/{id?}', function ($id = null) { //👉 /post → Danh sách post
return $id ? "Post ID: $id" : "Danh sách post"; //👉 /post/10 → Post ID: 10
});
Ràng buộc kiểu dữ liệu (Regex):
5. Đặt tên cho Route
6. Route Group
Nhóm nhiều route chung tiền tố (prefix) hoặc middleware:
👉 URL sẽ là:
-
/admin/dashboard -
/admin/users
7. Route gọi Controller
Thay vì viết logic trong route, ta tách ra Controller.
👉 Tạo controller:
8. Route trong API
Trong routes/api.php:
9. Artisan hỗ trợ route
-
Liệt kê tất cả routes:
php artisan route:list
Tóm lại
Trong bài này bạn đã học:
-
Route cơ bản (GET, POST, PUT, DELETE).
-
Route trả về view, JSON.
-
Route có tham số (bắt buộc, tùy chọn, regex).
-
Đặt tên route & sử dụng trong Blade.
-
Route group với
prefix,middleware. -
Route gắn với Controller.
-
API routes trong
api.php.
👉 Ở Bài 3, chúng ta sẽ cùng tìm hiểu cách tạo Controller và Request để xử lý dữ liệu trong Laravel