Routing là một trong những thành phần quan trọng nhất của Laravel. Mọi yêu cầu (Request) từ trình duyệt đều đi qua hệ thống Routing trước khi được xử lý.
Hiểu Routing sẽ giúp bạn biết cách điều hướng người dùng đến đúng chức năng của ứng dụng.
🎯 Routing là gì?
Khi người dùng truy cập một địa chỉ URL, Laravel sẽ kiểm tra xem địa chỉ đó đã được khai báo trong hệ thống Route hay chưa.
Nếu có, Laravel sẽ thực thi đoạn mã hoặc Controller tương ứng.
Ví dụ:
https://example.com/
Laravel sẽ tìm Route cho đường dẫn /.
Nếu tồn tại:
Route::get('/', function () {
return 'Hello Laravel!';
});
Trình duyệt sẽ hiển thị:
Hello Laravel!
📂 File routes/web.php
Các Route dành cho website được khai báo trong:
routes/
│
├── web.php
├── api.php
├── console.php
└── channels.php
Trong giai đoạn đầu học Laravel, bạn sẽ làm việc chủ yếu với:
routes/web.php 📌 Lưu ý
Vì ở bài trước chúng ta đã tạo và cài đặt dự án Blog, nên có 2 cách để xem ứng dụng Laravel:
🌐 Cách 1 — Truy cập trực tiếp qua Laragon
http://localhost/blog/publicPhù hợp khi dự án được đặt trong thư mục www của Laragon và sử dụng Apache/Nginx.
💻 Cách 2 — Chạy bằng Artisan
Mở Terminal trong Laragon, di chuyển vào thư mục dự án:
cd blog php artisan serveSau đó mở trình duyệt và truy cập:
http://127.0.0.1:8000Đây là cách được sử dụng phổ biến trong quá trình học tập và phát triển vì không cần cấu hình Virtual Host và hoạt động trên hầu hết các môi trường.
💡 Khuyến nghị: Trong khóa học này, chúng ta sẽ ưu tiên sử dụng php artisan serve để đảm bảo mọi học viên đều thực hiện giống nhau, dù đang dùng Laragon, XAMPP, WAMP hay các môi trường phát triển khác.
Ví dụ:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
🌐 Route GET
GET là phương thức dùng để lấy dữ liệu hoặc hiển thị trang.
Ví dụ:
Route::get('/about', function () {
return 'Trang giới thiệu';
});
Truy cập:
http://127.0.0.1:8000/about
Kết quả:
Trang giới thiệu
📝 Route POST
POST dùng để gửi dữ liệu lên máy chủ.
Ví dụ:
Route::post('/save', function () {
return 'Đã lưu dữ liệu';
});
POST thường được sử dụng khi:
Đăng nhập
Đăng ký
Gửi biểu mẫu
Tạo dữ liệu mới
✏️ Route PUT
PUT dùng để cập nhật toàn bộ dữ liệu.
Ví dụ:
Route::put('/user', function () {
return 'Cập nhật người dùng';
});
Trong Laravel, PUT thường dùng để cập nhật bản ghi.
🗑️ Route DELETE
DELETE dùng để xóa dữ liệu.
Ví dụ:
Route::delete('/user', function () {
return 'Đã xóa';
});
Thông thường sẽ dùng trong chức năng:
Xóa bài viết
Xóa sản phẩm
Xóa người dùng
📌 Route Parameters
Laravel cho phép truyền dữ liệu trực tiếp trên URL.
Ví dụ:
Route::get('/user/{id}', function ($id) {
return "User ID: $id";
});
Truy cập:
/user/10
Kết quả:
User ID: 10
Có thể truyền nhiều tham số:
Route::get('/product/{category}/{id}', function ($category, $id) {
return "$category - $id";
});
Ví dụ:
/product/phone/25
Kết quả:
phone - 25
❓ Tham số tùy chọn
Đặt dấu ? sau tên tham số:
Route::get('/hello/{name?}', function ($name = 'Guest') {
return "Hello $name";
});
Nếu truy cập:
/hello
Kết quả:
Hello Guest
Nếu truy cập:
/hello/Laravel
Kết quả:
Hello Laravel
🏷️ Named Route
Laravel cho phép đặt tên cho Route để sử dụng thuận tiện hơn.
Ví dụ:
Route::get('/dashboard', function () {
return 'Dashboard';
})->name('dashboard');
Lấy URL bằng:
route('dashboard');
Kết quả:
http://localhost:8000/dashboard
Ưu điểm:
Không cần ghi cứng URL.
Dễ bảo trì khi thay đổi đường dẫn.
Thường dùng trong Blade và Controller.
🔍 Kiểm tra danh sách Route
Laravel hỗ trợ lệnh Artisan để xem toàn bộ Route.
php artisan route:list
Ví dụ kết quả:
GET /
GET /about
POST /save
PUT /user
DELETE /user
Đây là lệnh rất hữu ích khi dự án có nhiều Route.
⚠️ Một số lưu ý
Không khai báo hai Route trùng URL và cùng phương thức.
Nên đặt tên Route cho các chức năng quan trọng.
Mỗi Route nên thực hiện một nhiệm vụ rõ ràng.
Khi dự án lớn, nên chuyển logic sang Controller thay vì viết trực tiếp trong Route.
📚 Tổng kết
Sau bài học này, bạn đã nắm được những kiến thức nền tảng về Routing trong Laravel:
✅ Hiểu vai trò của Routing trong ứng dụng Laravel.
✅ Biết cách khai báo Route trong routes/web.php.
✅ Sử dụng các phương thức GET, POST, PUT và DELETE.
✅ Truyền tham số qua URL bằng Route Parameters.
✅ Tạo Named Route để quản lý đường dẫn hiệu quả.
✅ Kiểm tra toàn bộ Route bằng lệnh php artisan route:list.
Trong bài tiếp theo, chúng ta sẽ chuyển sang Controller, nơi chứa toàn bộ logic xử lý của ứng dụng và giúp mã nguồn trở nên gọn gàng, dễ bảo trì hơn.
╭──────────────────────────────╮
│ 🤖 Made by AI • Precision & Logic │
╰──────────────────────────────╯
x1




Không có nhận xét nào:
Đăng nhận xét