Các routes được đặt tên trong Laravel

Các route được đặt tên

Các route được đặt tên trong Laravel cung cấp một cách dễ dàng để đề cập đến các
route khi tạo URL hoặc chuyển hướng. Gán tên cho một route cho phép bạn tham chiếu
đối với hành động của route một cách thuận tiện, thay vì hard code URIs trong
code cua bạn. Nó làm cho code của bạn dễ quản lý hơn, đặc biệt là ở các ứng dụng.
Để đặt tên cho một route, bạn có thể xâu chuỗi phương thức name trong định nghĩa route:

ROUTE :: GET (‘user/profile’,
‘UserProfileControll@show’)-> name (‘profile.show’);

Khi một route được gán một tên, bạn có thể sử dụng tên của route khi khởi
tạo URLs hoặc chuyển hướng thông qua hàm route toàn cục:

$ url = route (‘profile.show’);

Hàm route này tạo ra một URL cho route được đặt tên:

return redirect()-> route(‘profile.show’);

Hàm redirect()->route tạo một trả lời chuyển hướng đến route được đặt tên.
Các tham số route được đặt tên
Đối với các routes có tham số, bạn có thể truyền các tham số như là đối số thứ hai
tới hàm route:

ROUTE :: GET (‘user/{id}/profile’,
‘UserProfileController@show ‘)-> name (‘profile.show’);
$ url =route(‘profile.show’, [‘id’ => 1]);

Trong ví dụ này, hàm route tạo URL/user/1/profile.
Các routes được đặt tên là một tính năng giúp quản lý các routes của bạn dễ dàng hơn.Nếu bạn
thay đổi URI của một route hoặc cách nó được cấu trúc, bạn chỉ cần cập nhật
định nghĩa route và tất cả các tham chiếu tới nó vẫn sẽ hoạt động chính xác.
Hãy minh họa các route được đặt tên.
Đầu tiên, hãy định nghĩa một route được đặt tên.Giả sử chúng ta có một route cái hiển thị
profile của user, và nó được xử lý theo phương thức show trên UserProfileController.
Chúng ta có thể đặt cho route này một tên khi chúng ta định nghĩa nó:

Route :: get (‘user/{id}’, ‘userProfileControll@show’
)->name(‘user.profile’);

Trong định nghĩa route này, ‘user/{id}’ là URI mà route trả lời tới,
UserProfileControll@show là hành động cái được thực thi khi route
được đi tới và user.profile là tên của route.
Với route được đặt tên này, giờ đây chúng ta có thể tạo URL hoặc chuyển hướng đến route này
sử dụng tên của nó.
Ví dụ, nếu bạn muốn tạo một liên kết đến profile của user trong Blade view,
Bạn có thể sử dụng hàm route:

<a href= “{{ route(‘user.profile’, [‘id’ => 1]) }}” >User
Profile</a>

Trong ví dụ này, route(‘user.profile’, [‘id’ => 1]) tạo URL cho
route user.profile, thay thế tham số {id} bằng 1.URL được tạo
user/1.
Cho một chuyển hướng trong controller, bạn có thể sử dụng phương thức redirect()->route:

public function update (Request $request, $id)
{
// code to update the user…
// then redirect to their profile
return redirect()->route( ‘user.profile’ , [ ‘id’ =>
$id]);
}

Trong ví dụ này, sau khi cập nhật một user, phương thức cập nhật chuyển hướng
trình duyệt đến trang profile của user.Gọi Redirect ()-> Route (‘user.profile’, [‘id’ =>
$ id]) tạo trả lời chuyển hướng đến URL của route user.profile.
Một lần nữa thay thế tham số {id} bằng $ id được cung cấp.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *