Chuyển hướng là cần thiết khi người dùng truy cập các tuyến đường mà họ không được phép truy cập hoặc cố gắng thực hiện các hành động mà họ không được phép thực hiện
Laravel cung cấp hai cách phổ biến để xử lý chuyển hướng và đưa người dùng đến nơi họ nên đến
Bạn có thể chuyển hướng với trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 hoặc mặt tiền Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
8Trong ảnh này, tất cả các ví dụ sẽ sử dụng trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
9 thay vì mặt tiền. Tuy nhiên, cả hai đều làm điều tương tựroute[$route, $parameters = [], $status = 302, $headers = []]
0
route[$route, $parameters = [], $status = 302, $headers = []]
route[$route, $parameters = [], $status = 302, $headers = []]
0 đi vào đường dẫn được chuyển hướng đến; Bạn cũng có thể chuyển vào một mã trạng thái khác, các tiêu đề khác và thậm chí đặt sử dụng HTTP hay HTTPS
Định nghĩa của phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
2 như sauto[$path, $status = 302, $headers = [], $secure = null]
Đây là một ví dụ về cách chuyển hướng người dùng chưa được xác thực đến trang đăng nhập
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
route[$route, $parameters = [], $status = 302, $headers = []]
3
route[$route, $parameters = [], $status = 302, $headers = []]
route[$route, $parameters = [], $status = 302, $headers = []]
3 giống như phương pháp route[$route, $parameters = [], $status = 302, $headers = []]
2 đã giải thích ở trên. Sự khác biệt duy nhất là nó đi theo một tuyến đường được đặt tên thay vì đường dẫn thôCho rằng các tham số tuyến đường không thể được ghi trong tuyến đường khi sử dụng các tuyến đường được đặt tên, phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
6 chấp nhận một mảng tham số thứ hai có tên là route[$route, $parameters = [], $status = 302, $headers = []]
7 có tất cả các tham số tuyến đường cho tuyến đườngĐịnh nghĩa của phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
6 như sauroute[$route, $parameters = [], $status = 302, $headers = []]
Đây là một ví dụ về cách chuyển hướng đến một bài đăng blog cụ thể
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
5Ví dụ này hoạt động giống như khi chúng ta sử dụng phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
2, như hình bên dướiRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
50
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Những lần khác, bạn có thể chỉ muốn đưa người dùng trở lại nơi họ đến.
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
50 tận dụng lợi thế của việc Laravel sử dụng các phiên và sẽ luôn biết về trang đã xem trước đó của người dùngĐịnh nghĩa của phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
52 như sauRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
1Đây là một ví dụ về cách chuyển hướng trở lại trang trước
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
2Ví dụ này có thể được viết lại để sử dụng một phím tắt, như hình bên dưới
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
3Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
53
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Đôi khi [thường là sau khi xác thực], bạn sẽ muốn chuyển hướng người dùng đến trang tổng quan của họ, thường có tên là
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
54Bạn có thể sử dụng phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
55 để chuyển hướng người dùng đến đường dẫn có tên là Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
54Định nghĩa của phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
55 như sauRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
9Đây là một ví dụ về cách chuyển hướng đến trang chủ
route[$route, $parameters = [], $status = 302, $headers = []]
0Ví dụ này làm điều tương tự
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
0Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
9
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Không phải lúc nào bạn cũng phải sử dụng các phương pháp
route[$route, $parameters = [], $status = 302, $headers = []]
2 hoặc route[$route, $parameters = [], $status = 302, $headers = []]
6. Trình trợ giúp Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 có thể được sử dụng như một phím tắtDưới đây là một ví dụ trong đó trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 được sử dụng để thực hiện chức năng tương tự như ví dụ đầu tiên trong tiêu đề route[$route, $parameters = [], $status = 302, $headers = []]
2Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
1Đặt tuyến đường để luôn chuyển hướng
Khi ứng dụng được cập nhật, bạn có thể muốn thay đổi lộ trình vì người dùng sẽ quen với lộ trình hiện tại và bạn không muốn gặp sự cố
Đây là một ví dụ trong đó đường dẫn
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
74 luôn được chuyển hướng đến đường dẫn Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
75Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
2Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
76
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Giả sử bạn muốn gửi dữ liệu từ tuyến hiện tại đến tuyến tiếp theo mà bạn muốn chuyển hướng đến
Phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
77 có thể được kết nối với các phương thức khác để truyền dữ liệu nàyĐiều này đặc biệt hữu ích khi xử lý các biểu mẫu mà bạn muốn quay lại biểu mẫu nhưng có thông báo lỗi hoặc thành công