[php] Laravel : 현재 경로 이름을 얻는 방법? (v5… v7)

Laravel v4에서는 다음을 사용하여 현재 경로 이름을 얻을 수있었습니다 …

Route::currentRouteName()

Laravel v5Laravel v6 에서 어떻게 할 수 있습니까?



답변

이 시도

Route::getCurrentRoute()->getPath();

또는

\Request::route()->getName()

v5.1부터

use Illuminate\Support\Facades\Route;
$currentPath= Route::getFacadeRoot()->current()->uri();

라 라벨 v5.2

Route::currentRouteName(); //use Illuminate\Support\Facades\Route;

또는 액션 이름이 필요한 경우

Route::getCurrentRoute()->getActionName();

라 라벨 5.2 루트 문서

요청 URI 검색

경로 메소드는 요청의 URI를 리턴합니다. 따라서 수신 요청이 대상으로 http://example.com/foo/bar지정된 경우 경로 메소드는 다음을 리턴합니다 foo/bar.

$uri = $request->path();

is메소드를 사용하면 수신 요청 URI가 주어진 패턴과 일치하는지 확인할 수 있습니다. *이 방법을 사용할 때 문자를 와일드 카드로 사용할 수 있습니다 .

if ($request->is('admin/*')) {
    //
}

경로 정보뿐만 아니라 전체 URL을 얻으려면 요청 인스턴스에서 url 메소드를 사용할 수 있습니다.

$url = $request->url();

라 라벨 v5.3 … v5.8

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

라 라벨 5.3 루트 문서

라 라벨 v6.x … 7.x

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

** 2019 년 11 월 11 일 현재-버전 6.5 **

Laravel 6.x 경로 문서

경로를 얻기 위해 요청을 사용하는 옵션이 있습니다

$request->route()->getName();


답변

Laravel 5.1을 사용하면

\Request::route()->getName()


답변

laravel v5 , v5.1.28v5.2.10에 대한 현재 경로 이름을 찾는 방법을 찾았 습니다.

네임 스페이스

use Illuminate\Support\Facades\Route;

$currentPath= Route::getFacadeRoot()->current()->uri();

Laravel laravel v5.3의 경우 다음을 사용할 수 있습니다.

use Illuminate\Support\Facades\Route;

Route::currentRouteName();


답변

당신이 필요로하는 경우 url로 하지 경로 이름을 , 당신은 어떤 다른 클래스를 필요로 / 사용할 필요가 없습니다 :

url()->current();


답변

여러 경로에서 메뉴를 선택하려면 다음과 같이하십시오.

<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i>&nbsp; Products</a></li>

또는 단일 메뉴 만 선택하려면 다음과 같이하면됩니다.

<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i>&nbsp; Users</a></li>

Laravel 5.2 에서도 테스트

이것이 누군가를 돕기를 바랍니다.


답변

Laravel 5.2 사용할 수 있습니다

$request->route()->getName()

현재 경로 이름을 알려줍니다.


답변

5.2에서는 다음과 같이 직접 요청을 사용할 수 있습니다.

$request->route()->getName();

또는 도우미 방법을 통해 :

request()->route()->getName();

출력 예 :

"home.index"