Cùng nhau học Router Laravel 10.x (phần 1)
Mở đầu
Chào các bạn hôm nay chúng mình sẽ tìm hiểu về Router trong Laravel 10.x phần 1 🥰🥰🥰
1. Cấu trúc thư mục
Tất cả file router trong laravel sẽ được đặt trong thư mục routes
Trong folder routes có 2 file api.php và web.php trong đó:
-
File api.php được dùng để định nghĩa router cho api
-
File web.php được dùng để định nghĩa router cho web
Laravel sẽ cấu hình 2 file trên ở trong file App\Providers\RouteServiceProvider
Các bạn cũng có thể custom thêm hoặc sửa tùy theo nhu cầu của mỗi người
Ví dụ: Mình sẽ thêm 1 router trong file App\Providers\RouteServiceProvider nó sẽ có đường dẫn là routes/web2.php như trong ảnh ở dưới
Tiếp theo các bạn sẽ vào thư mục routes thêm 1 file có tên là web2.php
Bạn copy code dưới đây vào file web2.php vừa tạo:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/web2', function () {
return 'Xin chào đây là web 2';
});
Tiếp theo các bạn mở trình duyệt truy cập vào đường dẫn http://localhost:8000/web2 sẽ thấy
2. Các method router
Laravel cũng cấp cho chúng ta 6 phương thức là: get, post, put, patch, delete, options
- Get: là phương thức dùng để truy cập đến tài nguyên của server mà không làm thay đổi dữ liệu server, ở ví dụ trên mình có sử dụng phương thức get để truy cập đến đường dẫn http://localhost:8000/web2
- Post: là phương thức được sử dụng để tạo tài dữ liệu mới
- Put: là phương thức được sử dụng để cập nhật dữ liệu
- Put: là phương thức được sử dụng để cập nhật dữ liệu
- Patch: là phương thức được sử dụng gửi dữ liệu mà bạn cần sửa đổi và không ảnh hưởng đến các phần khác của dữ liệu
- Delete: là phương thức XÓA sử dụng để xóa dữ liệu Ngoài ra Laravel còn cung cấp cho chúng ta một phương thức match và any, view, trong match sẽ định nghĩa nhưng phương thức mà bạn cần dùng. Ví dụ:
Route::match(['get', 'put', 'post'], '/web2', function () {
// ...
});
Tức là khi màn truy cập với đường dẫn là http://localhost:8000/web2 bạn có thể dử dụng được 3 phương thức get, post, put nó là cách viết ngắn gọn mà laravel hỗ trợ bạn:
Nếu bạn không muốn dùng phương thức match bạn cũng có thể viết tách ra thành 3 route:
Route::get('/web2', function () {
return 'Đây là phương thức get';
});
Route::post('/web2', function () {
return 'Đây là phương thức post';
});
Route::put('/web2', function () {
return 'Đây là phương thức put';
});
Với any cũng khá giống với method match ở trên và nó sẽ sử dụng với mọi phương thức get, post, put, patch, delete
Route::any('/web2', function () {
return 'Phương thức any';
});
Method View nếu bạn chỉ cần trả ra 1 view bạn có thể sử dụng phương thức rút gọn này:
Ví dụ:
Trong folder resources/views bạn tạo 1 file là view.blade.php sau đó bạn thêm nội dung
<h1>Đây là view</h1>
Tiếp đến trong folder routes/web.php bạn thêm 1 route:
Route::view('/view', 'view');
Bây giờ bạn truy cập với đường link http://localhost:8000/view bạn sẽ thấy
Method Route:view nó sẽ là viết tắt của đoạn code sau:
Route::get('/view', function () {
return view('view');
});
3. Các command tương tác với route
Command php artisan route:list các bạn dùng để kiểm tra chi tiết tất cả các route đang có trong website của bạn đang sử dụng method nào đang sử dụng Middleware
Các bạn có thể thấy ở bảng trên sau khi mình sử dụng command php artisan route:list route any có phương thức là GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS. Dưới đây là route any được mình định nghĩa
Route::any('/any', function () {
return 'Đây là method any';
});
Bạn cũng có thể kiểm tra 1 route nhất định sử dụng command php artisan route:list --path=any trong đó any là tên route của bạn: Ví dụ:
Route::get('/web2', function () {
return 'Đây là web 2';
});
Mình muốn kiểm tra route có tên là web2 bạn chỉ cần sử dụng command php artisan route:list --path=web2
Kết luận:
Ở bài này mình cũng đã hướng dẫn cho các bạn cơ bản về cầu trúc thư mục, các method, các command cơ bản nhất trong Route Laravel 10.x phần 1. Mong các bạn ủng hộ và nhận xét góp ý để mình có thể viết bài hay hơn trong những bài hướng dẫn tiếp theo
All rights reserved