Trong bài viết ngắn này, chúng ta sẽ tìm hiểu Cách lấy tên tuyến đường hiện tại trong Laravel. Ta sẽ lấy tên route trong Controller, Middleware, Blade File. Có một số phương thức trong Laravel để lấy tên tuyến đường hiện tại
Laravel cho phép bạn xác định tuyến đường và bạn cũng có thể xác định tên của tuyến đường. Bạn có thể sử dụng tên tuyến đường đó ở bất cứ đâu bạn cần như bộ điều khiển, tệp phiến, v.v. Bạn cần sử dụng hàm route() và chuyển tên tuyến đường làm đối số trong hàm đó. Nó sẽ trả về tuyến đường sử dụng tên tuyến đường đó. Đó là một phương pháp rất dễ dàng và hữu ích để nhận và đặt lộ trình
Lấy tên tuyến đường trong Blade View
Trong một số trường hợp, bạn cần hiển thị tên tuyến đường trong các tệp Blade như liên kết điều hướng hoạt động và một số yêu cầu khác
{{ Route::currentRouteName() }} // or {{ request()->route()->getName() }}Nhận tên tuyến đường trong Laravel Controller
Bạn có thể lấy tên route trong Laravel Controller. Bạn có thể xem đoạn mã sau để lấy tên tuyến đường hiện tại trong Laravel Controller
public function getRouteName(Request $request){ $routeName = $request->route()->getName(); // or $routeName = request()->route()->getName(); return $routeName; }Nhận tên tuyến đường trong Laravel Middleware
public function handle($request, Closure $next) { $routeName = $request->route()->getRouteName(); echo $routeName; }Tôi hy vọng trong bài viết ngắn này, bạn sẽ học được Cách lấy tên Tuyến đường hiện tại trong laravel
Cảm ơn bạn đã đọc blog này
đọc thêm. Cách chuyển đổi JSON thành mảng trong Laravel
Nếu bạn muốn quản lý Máy chủ VPS / VM của mình mà không cần chạm vào dòng lệnh, hãy xem liên kết này. ServerAvatar cho phép bạn thiết lập nhanh các trang web WordPress hoặc PHP tùy chỉnh trên VPS / VM chỉ trong vài phút. Bạn có thể lưu trữ nhiều trang web trên một VPS / VM, định cấu hình chứng chỉ SSL và theo dõi tình trạng của máy chủ mà không cần chạm vào giao diện dòng lệnh
Hãy xem xét một menu điều hướng với một loạt các liên kết và bạn đang cố kích hoạt chúng dựa trên tên tuyến đang hoạt động. Trong trường hợp bình thường, bạn phải trả lại currentRouteName() từ bộ điều khiển hoặc có thể trong chế độ xem nhà soạn nhạc hoặc bất kỳ nơi nào khác. Tôi đã viết một gói soạn thảo Laravel đơn giản giúp nó đơn giản hơn một chút
Bạn có thể xem nó ở đây. https. //github. com/tuytoosh/hoạt động
Để cài đặt, hãy sử dụng trình soạn thảo yêu cầu lệnh như thế này
composer require tuytoosh/active
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Sau đó, sử dụng chỉ thị @active() trong tệp lưỡi cắt của bạn
<a href="#" class="@active('home')">Home page</a>
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Nếu không có gói này, bạn phải viết sth như thế này
<a href="#" class="@if(Route::getCurrentRouteName() == 'home') active @endif">Home page</a>
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Sau phiên bản 1.7.0 Bạn có thể xác định một loạt các mẫu tuyến đường như thế này
class="@active(['admin.dashboard', 'user.dashboard'])"
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Nếu bạn thấy nó sử dụng đầy đủ hãy cho một ngôi sao. )
Cảm ơn bạn đã đọc
Trong hướng dẫn này, tôi sẽ cho bạn biết làm thế nào bạn có thể lấy url, url hiện tại với chuỗi truy vấn và phân đoạn url trong Laravel. Laravel có rất nhiều method giúp bạn việc này. Chúng đều là các phương thức Yêu cầu và có thể được gọi tĩnh trong Blade mà không gặp vấn đề gì
Nhận url hoặc đường dẫn hiện tại trong phiến bằng phương thức Yêu cầu Các phương thức chúng tôi có thể sử dụng cho việc này là Yêu cầu. url(), Yêu cầu. fullUrl(), Yêu cầu. đường dẫn (), Yêu cầu. is() và Yêu cầu. bộ phận()
đây là ví dụ sau để laravel lấy url hiện tại trong chế độ xem phiến
Nhận đường dẫn hiện tại
ở đây sử dụng Request. phương thức path() để lấy đường dẫn hiện tại
Path: {{ Request::path() }}
đầu ra
________số 8_______Lấy url hiện tại
ở đây sử dụng Request. phương thức url(). Nó sẽ trả về toàn bộ URL, nhưng loại bỏ chuỗi truy vấn khỏi nó
Url: {{ Request::url() }}
đầu ra
Url: //localhost:8000/post/demo
Lấy fullUrl hiện tại
ở đây sử dụng Request. phương thức fullUrl(). Có thể bạn sẽ không cần đến phương pháp này thường xuyên, nhưng nó có thể hữu ích
FullUrl: {{ Request::fullUrl() }}
đầu ra
FullUrl: //localhost:8000/post/demo
Nhận URL hiện tại để so sánh mẫu
ở đây sử dụng Request. phương thức is(). Bạn thậm chí có thể sử dụng ký tự đại diện *. Nó sẽ trả về true nếu tìm thấy kết quả khớp
Khá thường xuyên, bạn có nhu cầu kiểm tra URL hoặc tuyến đường hiện tại và hiển thị/ẩn một số phần tử và thực hiện một số hành động. Ở đây tôi sẽ chỉ ra một số cách để làm điều đó. 1. Kiểm tra xem URL có = X Đơn giản - bạn cần kiểm tra xem URL có chính xác như X hay không và sau đó bạn hiển thị nội dung nào đó. Trong bộ điều khiển. if (request()->is('companies')) { // show companies menu or something } Trong tệp Blade - gần như giống hệt nhau. @if (request()->is('companies')) Companies menu @endif 2. Kiểm tra xem URL có chứa X Ví dụ phức tạp hơn một chút - phương thức Yêu cầu. is() cho phép một tham số mẫu, như thế này. if (request()->is('companies/*')) { // will match URL /companies/999 or /companies/create } 3. Kiểm tra tuyến đường theo tên Như bạn có thể biết, mỗi tuyến đường có thể được gán cho một tên, trong routes/web. php tập tin nó trông giống như thế này. Route::get('/companies', function () { return view('companies'); })->name('comp'); Vậy làm cách nào bạn có thể kiểm tra xem tuyến đường hiện tại có phải là 'comp' không? . if (\Route::current()->getName() == 'comp') { // We are on a correct route! } 4. Kiểm tra theo tên tuyến đường Nếu bạn đang sử dụng tuyến đường theo tên, bạn có thể kiểm tra xem yêu cầu có khớp với tên tuyến đường không. if (request()->routeIs('companies.*')) { // will match routes which name starts with companies. } hoặcrequest()->route()->named('profile') Sẽ khớp với tuyến đường có tên hồ sơ. Vì vậy, đây là bốn cách để kiểm tra URL hoặc tuyến đường hiện tại. Bạn có thêm "chiêu" nào nữa không?