[Video] Tìm hiểu Route trong Laravel + Học lập trình laravel qua ví dụ Hello World, ax+b=0, Hiển thị danh sách sinh viên
Phần 1
Phần 2:
Chữa bài tập > Tìm hiểu Route - Controller - View trong Laravel
Mở bài
Nếu bạn mới bắt đầu học lập trình Laravel, chắc hẳn bạn sẽ nghe nhiều đến khái niệm Route (định tuyến). Đây là thành phần quan trọng nhất trong Laravel — nơi xác định cách người dùng truy cập vào các trang web và cách dữ liệu được phản hồi từ server. Route đóng vai trò như “bản đồ chỉ đường” giúp Laravel biết được khi nào cần hiển thị trang, khi nào cần xử lý logic, và khi nào cần gọi đến Controller.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu Route trong Laravel một cách dễ hiểu, qua các ví dụ thực tế như:
-
Hiển thị dòng chữ “Hello World”.
-
Giải phương trình bậc nhất dạng
ax + b = 0. -
Hiển thị danh sách sinh viên bằng Route và Controller.
Bài viết không chỉ giúp bạn hiểu rõ cách hoạt động của Route, mà còn giúp bạn nắm vững cách viết code Laravel đúng chuẩn, dễ bảo trì và mở rộng sau này. Hãy cùng bắt đầu hành trình khám phá sức mạnh của Route trong Laravel ngay bây giờ!
Tổng quan về Route trong Laravel
Route trong Laravel là nơi định nghĩa các URL mà ứng dụng của bạn có thể truy cập. Mỗi khi người dùng nhập đường dẫn vào trình duyệt, Laravel sẽ tìm trong tệp routes/web.php để xác định cách xử lý yêu cầu đó.
Laravel có 4 kiểu Route phổ biến:
-
GET – Dùng để lấy dữ liệu hoặc hiển thị trang.
-
POST – Dùng để gửi dữ liệu (ví dụ: form đăng ký, đăng nhập).
-
PUT/PATCH – Dùng để cập nhật dữ liệu.
-
DELETE – Dùng để xóa dữ liệu.
Ví dụ một route đơn giản:
Khi bạn truy cập địa chỉ http://localhost:8000/hello, trình duyệt sẽ hiển thị dòng chữ Hello World.
Các tệp định nghĩa Route trong Laravel
Laravel chia nhỏ các Route theo mục đích:
-
routes/web.php: Dành cho các trang web thông thường. -
routes/api.php: Dành cho các API. -
routes/console.php: Dành cho lệnh Artisan. -
routes/channels.php: Dành cho WebSocket và Broadcast.
Mặc định, khi bạn tạo dự án Laravel mới, hệ thống đã có sẵn các tệp này để bạn bắt đầu định nghĩa các Route ngay lập tức.
Cấu trúc và cú pháp cơ bản của Route
Laravel cung cấp nhiều cách định nghĩa Route linh hoạt:
1. Route cơ bản
Khi người dùng truy cập /welcome, hệ thống sẽ hiển thị giao diện resources/views/welcome.blade.php.
2. Route có tham số
Khi truy cập http://localhost:8000/user/Diep, trang web sẽ hiển thị:
👉 “Xin chào, Diep!”
3. Route có tham số mặc định
4. Route nhóm (Group)
Giúp gom các route chung prefix lại với nhau:
Truy cập: http://localhost:8000/admin/dashboard.
Ví dụ 1: Hiển thị “Hello World” trong Laravel
Đây là ví dụ cơ bản nhất khi bạn bắt đầu học Laravel.
Mở tệp routes/web.php và thêm dòng:
Sau đó, chạy server bằng lệnh:
Truy cập http://localhost:8000/hello, bạn sẽ thấy kết quả:
👉 Hello World!
Giải thích:
-
Route::get()là phương thức định nghĩa một route sử dụng HTTP GET. -
/hellolà đường dẫn URL mà người dùng truy cập. -
Hàm
function () { return 'Hello World!'; }là hành động (callback) sẽ chạy khi route này được gọi.
💡 Lời khuyên: Khi bạn chỉ cần thử nhanh, hãy viết route dạng callback. Còn khi dự án lớn, nên chuyển sang Controller để dễ quản lý.
Ví dụ 2: Giải phương trình bậc nhất ax + b = 0 trong Laravel
Phương trình bậc nhất là ví dụ tuyệt vời để rèn luyện kỹ năng xử lý dữ liệu – hiển thị kết quả trong Laravel.
Dưới đây là 4 cách khác nhau để thực hiện cùng một nhiệm vụ này.
Cách 1: Nhập trực tiếp qua URL (Route Parameters)
Đây là cách nhanh nhất để thử nghiệm:
✅ Chạy thử:
http://localhost:8000/giaiphuongtrinh/2/4
👉 Kết quả: Nghiệm của phương trình là x = -2
💬 Giải thích:
Laravel tự động truyền giá trị {a} và {b} từ URL vào biến $a, $b.
Đây là cách nhanh nhất để thử logic toán học mà không cần form hay Controller.
Cách 2: Nhập giá trị qua Form (Phương thức GET)
Bạn có thể tạo form nhập dữ liệu để thân thiện hơn với người dùng.
Thêm vào routes/web.php:
Tạo file resources/views/giaiphuongtrinh.blade.php:
✅ Chạy thử:
Truy cập http://localhost:8000/giaiphuongtrinh
Nhập a = 3, b = 9 → Kết quả: x = -3
💬 Ưu điểm: Thân thiện, dễ hiểu, không cần nhớ cú pháp URL.
💬 Nhược điểm: Dữ liệu hiện trên URL (ít bảo mật).
Cách 3: Gửi dữ liệu bằng Form (Phương thức POST)
Dành cho trường hợp bạn không muốn hiển thị tham số trên URL.
resources/views/giaipt_post.blade.php:
✅ Ưu điểm: Bảo mật hơn, phù hợp với form dữ liệu lớn.
💡 Lời khuyên: Khi làm các chức năng như đăng nhập, đăng ký, hoặc form tính toán, bạn nên dùng POST thay vì GET.
Cách 4: Giải phương trình bằng Controller (Cách chuyên nghiệp)
Tạo Controller:
Trong app/Http/Controllers/EquationController.php:
Thêm Route:
Tạo resources/views/equation.blade.php:
✅ Kết quả:
Người dùng nhập a, b → Hệ thống hiển thị nghiệm ngay trên cùng trang.
💬 Ưu điểm: Code gọn, tách biệt logic, dễ tái sử dụng — phù hợp cho dự án thực tế.
Ví dụ 3: Hiển thị danh sách sinh viên qua Route
Giờ chúng ta sẽ xây dựng một ví dụ “thật” hơn: hiển thị danh sách sinh viên từ dữ liệu giả định.
Bước 1: Tạo route hiển thị danh sách
Trong web.php:
Bước 2: Tạo file hiển thị trong resources/views/students.blade.php
Kết quả:
Khi truy cập http://localhost:8000/students, bạn sẽ thấy bảng danh sách sinh viên được hiển thị rõ ràng.
💡 Gợi ý nâng cao:
Bạn có thể thay mảng dữ liệu bằng dữ liệu thật từ CSDL MySQL bằng cách tạo Model Student và gọi Student::all().
Tổ chức Route hợp lý trong dự án Laravel lớn
Khi dự án mở rộng, số lượng Route có thể lên đến hàng trăm. Để quản lý hiệu quả, bạn nên:
-
Sử dụng Controller: Tách logic ra khỏi
web.php. -
Dùng Route name: Giúp gọi lại dễ hơn trong view hoặc redirect.
-
Group và Middleware: Gom nhóm các route có chung đặc điểm (ví dụ: admin, user).
Ví dụ:
Lời khuyên cho người mới học Route Laravel
-
Bắt đầu từ những ví dụ nhỏ, như
Hello World, rồi mở rộng dần. -
Luôn chạy lệnh
php artisan route:listđể xem toàn bộ danh sách route hiện tại. -
Sử dụng Controller thay vì viết logic trực tiếp trong route.
-
Áp dụng RESTful routing khi làm việc với CRUD.
-
Kết hợp Blade template để hiển thị giao diện chuyên nghiệp.
Kết luận
Qua bài viết này, bạn đã nắm được:
-
Khái niệm và vai trò của Route trong Laravel.
-
Cách sử dụng Route để tạo Hello World, giải phương trình ax + b = 0, và hiển thị danh sách sinh viên.
-
Cách tổ chức Route khoa học, dễ mở rộng và bảo trì.
Học lập trình Laravel không khó nếu bạn bắt đầu từ những ví dụ nhỏ, hiểu bản chất rồi dần dần phát triển thành hệ thống hoàn chỉnh. Laravel chính là lựa chọn lý tưởng cho những ai muốn xây dựng website nhanh, bảo mật và mạnh mẽ.
👉 Nếu bạn cảm thấy bài viết hữu ích, hãy chia sẻ cho bạn bè cùng học Laravel nhé!
Đừng quên theo dõi các bài tiếp theo trong chuỗi “Học lập trình Laravel từ A đến Z” để cùng nhau chinh phục framework mạnh mẽ nhất của PHP này.