Cơ bản về định tuyến(router)
Định tuyến (route) trong Laravel có nghĩa là chỉ dẫn từ yêu cầu của người dùng sẽ làm gì. Ví dụ người dùng truy cập từ browser với đường dẫn https://hoclaravel.vn sẽ làm gì. Hoặc khi người truy cập vào trang đăng nhập rồi click nút đăng nhập thì nó sẽ làm gì thì route sẽ điều hướng đúng những thứ cần thực hiện.
Tất cả những định nghĩa về route đều được lưu ở thư mục routes. Còn nếu bạn muốn tự định nghĩa thêm thì có thể tham khảo ở app/Providers/RouteServiceProvider.php
Những phương thức hiện có
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Đô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');
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:
Route::view('/welcome', 'welcome');
Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
Cập nhật thêm được vài kiến thức mới
Bài viết hữu ích.
Hữu ích
Cảm ơn Admin. Bài viết khá hay !
OK bạn, mình sẽ sắp xếp viết một bài về Extend Validation. Cảm ơn bạn đã quan tâm nhé.