Đôi khi bạn có thể cần đăng ký một route đáp ứng với nhiều phương thức. Bạn có thể làm như vậy bằng cách sử dụng phương pháp match. Hoặc, bạn thậm chí có thể đăng ký một tuyến đáp ứng tất cả các động từ HTTP bằng any phương thức nào:
Route::match[['get', 'post'], '/', function [] {
//
}];
Route::any['/', function [] {
//
}];
CSRF Protection
CSRF là viết tắt của Cross-site request forgeries là một loại khai thác độc hại, theo đó các lệnh trái phép được thực hiện thay mặt cho người dùng đã được xác thực. Bạn có thể tìm hiểu thêm chi tiết tại CSRF Protection trong Laravel
Redirect Routes
Nếu bạn đang xác định một route chuyển hướng đến một URI khác, bạn có thể sử dụng phương pháp Route::redirect. Phương pháp này cung cấp một phím tắt thuận tiện để bạn không phải xác định một route hoặc controller để thực hiện một chuyển hướng đơn giản:
Route::redirect['/here', '/there'];
Theo mặc định, Route::redirect trả về mã trạng thái 302. Bạn có thể tùy chỉnh mã trạng thái bằng cách sử dụng tham số thứ ba tùy chọn:
Route::redirect['/here', '/there', 301];
Hoặc, bạn có thể sử dụng phương thức Route::permanentRedirect để trả về mã trạng thái 301:
Route::permanentRedirect['/here', '/there'];
View Routes
Nếu route của bạn chỉ cần trả về một view, bạn có thể sử dụng phương pháp Route::view. Giống như phương pháp chuyển hướng, phương pháp này cung cấp một phím tắt đơn giản để bạn không phải xác định toàn bộ route hoặc controller. Phương thức view chấp nhận một URI làm đối số đầu tiên và tên view làm đối số thứ hai của nó. Ngoài ra, bạn có thể cung cấp một mảng dữ liệu để chuyển đến view dưới dạng đối số thứ ba tùy chọn:
Định tuyến [route] trong Laravel có nghĩa là chỉ dẫn từ một yêu cầu tải một trang đến một đoạn code tương ứng để xử lý [nằm trong các Controller]. Các route này nằm trong file route/web.php
[email protected]']->name['posts.store'];
5. Nhóm Route
Với những Rotue có chung hành vi thì chúng ta có thể gom vào một nhóm. Ví dụ nhóm route Admin chúng ta có một số URL như sau
//vietlaravel.test/admin
//vietlaravel.test/admin/post
//vietlaravel.test/admin/category
Trong Route chúng ta sẽ viết như sau:
Route::group[['prefix' => 'admin'], function [] {
Route::get['/', function [] {
//code
}];
Route::get['posts', function [] {
//code
}];
Route::get['category', function [] {
//code
}];
}];
6. Namespaces
Namespace trong Laravel giống như PHP namespace được chỉ định với một nhóm controller. Ví dụ khi ta đặt file controller trong thư mục Admin [app\Http\Controllers\Admin] thì ta có thể sử dụng namespace
Route::group[['namespace' => 'Admin'], function[] {
// Controllers trong namespace "App\Http\Controllers\Admin"
}];
7. Prefix
Chúng ta có thể xem lại ví dụ ở phần 5 Nhóm Route, chúng ta có thể thấy các link trong ví dụ đều bắt đầu bằng /admin, vì vậy để gom nhóm Route cho gọn thì chúng ta sử dụng Prefix
Trên đây là một số vấn đề cơ bản về Route, để tìm hiểu thêm các bạn có thể đọc tại Document của Laravel tại đây